python16_day20Django_继续抽屉项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python16_day20Django_继续抽屉项目相关的知识,希望对你有一定的参考价值。

一、djangoAdmin和表结构

  1.项目名称

    python manage startapp web    # 前端页面

    python manage startapp repository   # 只是数据库

    python manage startapp backend      # 后台管理

  2.repository/models.py

 1 class UserInfo(models.Model):
 2     nid = models.AutoField(primary_key=True)
 3     username = models.CharField(max_length=32, unique=True)
 4     password = models.CharField(max_length=32)
 5     email = models.CharField(max_length=32, unique=True)
 6     ctime = models.DateTimeField()
 7 
 8     class Meta:
 9         verbose_name_plural = 用户表‘    # 在django中显示表名称
10 
11     def __str__(self):
12         return self.username        # 显示字段对象名称
13 class NewsType(models.Model):
14     nid = models.AutoField(primary_key=True)
15 
16     caption = models.CharField(max_length=32)
17     class Meta:
18         verbose_name_plural = "新闻类型"
19 
20     def __str__(self):
21         return self.caption
22 
23 class News(models.Model):
24     nid = models.AutoField(primary_key=True)
25     user_info = models.ForeignKey(UserInfo)
26     news_type = models.ForeignKey(NewsType)
27     title = models.CharField(max_length=32, db_index=True)
28     url = models.CharField(max_length=128, null=True,blank=True)
29     content = models.CharField(max_length=50)
30     favor_count = models.IntegerField(default=0)
31     comment_count = models.IntegerField(default=0)
32     ctime = models.DateTimeField()
33     class Meta:
34         verbose_name_plural = 新闻
35 
36     def __str__(self):
37         return self.title
38 class Favor(models.Model):
39     nid = models.AutoField(primary_key=True)
40 
41     user_info = models.ForeignKey(UserInfo)
42     news = models.ForeignKey(News)
43 
44     ctime = models.DateTimeField()
45 
46     class Meta:
47         verbose_name_plural = 点赞记录
48         unique_together = (
49             ("user_info", "news"),
50         )
51 
52 class Comment(models.Model):
53     nid = models.AutoField(primary_key=True)
54 
55     user_info = models.ForeignKey(UserInfo)
56     news = models.ForeignKey(News)
57 
58     ctime = models.DateTimeField()
59     device = models.CharField(max_length=16,null=True,blank=True)
60     content = models.CharField(max_length=150)
61 
62     reply_id = models.ForeignKey(Comment, related_name=b, null=True, blank=True)
63 
64     class Meta:
65         verbose_name_plural = 评论表

  3.repository/admin.py

1 from django.contrib import admin
2 from repository.models import *
3 
4 # Register your models here.
5 admin.site.register(UserInfo)
6 admin.site.register(Comment)
7 admin.site.register(Favor)
8 admin.site.register(News)
9 admin.site.register(NewsType)

  4. python manage.py createsuperuser

  5. settings.py 注册项目  

1 INSTALLED_APPS = [
2     django.contrib.admin,
3     django.contrib.auth,
4     django.contrib.contenttypes,
5     django.contrib.sessions,
6     django.contrib.messages,
7     django.contrib.staticfiles,
8     ‘repository‘,
9 ]

  6.python manage.py makemigrations

   python manage.py migrate

  7.http://127.0.0.1:8000/admin

 

以上是关于python16_day20Django_继续抽屉项目的主要内容,如果未能解决你的问题,请参考以下文章

python16_day15Django入门

python16_day17Django_sessionajax

python16_day18Django_Form表单分页

python_day16_pythom-mysql-API

python16_day38flask

python16_day11MQRedisMemcache