Bläddra i källkod

# doc:记录django模型的使用过程;

yang yi 2 veckor sedan
förälder
incheckning
80fd49ddb3
1 ändrade filer med 70 tillägg och 2 borttagningar
  1. 70 2
      readme.md

+ 70 - 2
readme.md

@@ -114,8 +114,76 @@
      >     path('leader/', views.leader, name='leader'),     # 领导分工
      > ]
      > ```
-     >
-     > 
+
+   9. 数据模型配置
+
+      - 创建一个common模块,在models.py中定义数据模型
+
+      > 定义一个文章模型和轮播图模型
+
+      ```python
+      class Article(models.Model):
+          CATEGORY_CHOICES = [
+              ('professional', '专业介绍'),
+              ('leader', '领导分工'),
+              ('academic_leader', '学院学科建设带头人教师'),
+              ('computer_science', '计算机系教师'),
+              ('software_engineering', '软件工程系教师'),
+              ('digital_media', '数字媒体技术系教师'),
+              ('iot_networking', '物联网与网络工程系教师'),
+              ('math_teaching', '数学教研室教师'),
+              ('party_work', '党政学工队伍教师'),
+              ('scientific', '教学科研'),
+              ('party_dynamic', '党建动态'),
+              ('youth_dynamic', '团学动态'),
+              ('admissions', '招生'),
+              ('employment', '就业'),
+          ]
+          title = models.CharField(max_length=200, verbose_name='标题')
+          markdown_content = models.TextField(verbose_name='markdown内容')
+      	#blank=True配置    
+          html_content = models.TextField(verbose_name='html内容',blank=True)
+          created_at = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
+          updated_at = models.DateTimeField(auto_now=True, verbose_name='更新时间')
+          category = models.CharField(max_length=50, choices=CATEGORY_CHOICES, verbose_name='文章分类')
+          cover = models.URLField(verbose_name='封面')
+      
+          class Meta:
+              ordering = ['-created_at']
+      
+          def __str__(self):
+              return self.title
+      
+      
+      class Banner(models.Model):
+          title = models.CharField(max_length=200, verbose_name='标题')
+          url = models.URLField(verbose_name='链接')
+          order = models.IntegerField(default=0, verbose_name='序号')
+      
+          class Meta:
+              ordering = ['order']
+      
+          def __str__(self):
+              return self.title
+      ```
+
+      - 在admin中注册定义的模型,编译admin.py文件
+
+      ```python
+      from django.contrib import admin
+      
+      from common.models import Article, Banner
+      
+      # Register your models here.
+      admin.site.register(Article)
+      admin.site.register(Banner)
+      ```
+
+      > 更新模型信息:`python manage.py makemigrations common`
+      >
+      > 同步模型与数据表`python manage.py migrate common`
+      >
+      > 创建超级管理员用于登陆django的后台:`python manage.py createsuperuser `
 
 ### 工作内容分工