温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-04 13:01:05 来源:网络 阅读:1343 作者:浮尔魔司 栏目:数据库



一、准备工作:

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 "<user:%s>" %(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)搭建项目框架












向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI