【python项目实战】BBS论坛(1)搭建项目框架-创新互联

一、准备工作:

十年的恩施土家网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整恩施土家建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“恩施土家网站设计”,“恩施土家网站推广”以来,每个客户项目都认真落实执行。

Windows7-64位

python 2.7

mysql version: 5.7.12

django 1.9.5

IDE开发工具:pycharm 2.7

【python项目实战】BBS论坛 (1)搭建项目框架

二、设计表结构

主要涉及点:

1、表的ER图,要设计逻辑,有哪些表,每个表有哪些属性

2、models的 模型常用字段要熟练,本次使用的有:

CharField

ForeignKey

ImageField

TextField

DateTimeField

BooleanField

IntegerField

ManyToManyField

OneToOneField

    

##models.py  from __future__ import unicode_literals from django.db import models from django.contrib.auth.models import User # Create your models here. # 帖子信息表 class Article(models.Model):     title = models.CharField(u"文章标题",max_length=255,unique=True)     category = models.ForeignKey("Category",verbose_name=u"板块")     head_img = models.ImageField(upload_to="uploads")     content = models.TextField(u"内容")     auther = models.ForeignKey("UserProfile")     publish_date = models.DateTimeField(auto_now=True)     hidden = models.BooleanField(default=True)     priority = models.IntegerField(u"优先级",default=1000)     def __unicode__(self):         return "<%s,author:%s>" %(self.title,self.auther) #评论表 class Comment(models.Model):     article = models.ForeignKey(Article)     user = models.ForeignKey("UserProfile")     parent_comment = models.ForeignKey('self',related_name='p_comment',blank=True,null=True)     comment = models.TextField(max_length=1000)     date = models.DateTimeField(auto_now=True)     def __unicode__(self):         return "<%s,user:%s>" %(self.comment,self.user) #点赞数表 class ThumbUp(models.Model):     article = models.ForeignKey('Article')     user = models.ForeignKey('UserProfile')     date = models.DateTimeField(auto_now=True)     def __unicode__(self):         return "" %(self.auther) #板块分类表 class Category(models.Model):     name = models.CharField(max_length=64,unique=True)     admin = models.ManyToManyField('UserProfile')     def __unicode__(self):         return self.name # 用户信息表 class UserProfile(models.Model):     user = models.OneToOneField(User)     name = models.CharField(max_length=32)     groups = models.ManyToManyField('UserGroup')     def __unicode__(self):         return self.name # 用户组表 class UserGroup(models.Model):     name = models.CharField(max_length=64,unique=True)     def __unicode__(self):         return self.name

三、settings.py 里面加入数据库资源信息

    首先自己需要在mysql里面创建一个数据库,名字叫s11bbs,然后编辑settings.py

DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql',         'NAME': 's11bbs',         'HOST':'',         'USER':'root',         'PASSWORD':'123',         } }

四、同步数据库

cd 到manage.py 文件所在目录

python manage.py migrate

【python项目实战】BBS论坛 (1)搭建项目框架

python manage.py makemigrations

python manage.py migrate

【python项目实战】BBS论坛 (1)搭建项目框架

五、注册数据库表

在admin.py里加入,就能访问django的后台管理界面了,可以自己尝试添加一些测试数据

http://127.0.0.1:8000/admin

##  admin.py  from django.contrib import admin import models # Register your models here. admin.site.register(models.Article,ArticleAdmin) admin.site.register(models.Category,CategoryAdmin) admin.site.register(models.Comment) admin.site.register(models.ThumbUp) admin.site.register(models.UserProfile) admin.site.register(models.UserGroup)

【python项目实战】BBS论坛 (1)搭建项目框架

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:【python项目实战】BBS论坛(1)搭建项目框架-创新互联
当前URL:http://scyanting.com/article/dspejo.html