创建超级用户
(class15env) PS D:\muyi\Django\muyi> python manage.py createsuperuser
Username (leave blank to use '37410'): admin # 用户名
Email address: admin@163.com # 邮箱
Password: # 密码:qw123
Password (again): # 再次确认:qw123
This password is too short. It must contain at least 8 characters.
This password is too common.
Bypass password validation and create user anyway? [y/N]: y # 是否绕过密码验证
Superuser created successfully.
配置后台管理语言:LANGUAGE_CODE
定义模型
from django.db import models
# Create your models here.
"""
问题 —— {问题是什么,什么时间}
选择 —— {回答问题,关注度}
"""
class Question(models.Model):
question_text = models.CharField(max_length=200) # 问题
pub_date = models.DateTimeField('发布日期') # 时间
class Choice(models.Model):
question = models.ForeignKey(Question,on_delete=models.CASCADE)
chpice_text = models.CharField(max_length=200) # 回答问题
votes = models.IntegerField(default=0) # 关注度
迁移
(class15env) PS D:\muyi\Django\muyi> python .\manage.py makemigrations
Migrations for 'the_8':
the_8\migrations\0001_initial.py
- Create model Question
- Create model Choice
(class15env) PS D:\muyi\Django\muyi> python .\manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions, the_5, the_7, the_8
Running migrations:
Applying the_7.0002_auto_20240324_2145... OK
Applying the_8.0001_initial... OK
模型纳入后台管理
from django.contrib import admin
from .models import Question, Choice
# Register your models here.
admin.site.register(Question)
admin.site.register(Choice)
后台添加数据,显示数据
from django.db import models
# Create your models here.
"""
问题 —— {问题是什么,什么时间}
选择 —— {回答问题,关注度}
"""
class Question(models.Model):
question_text = models.CharField(max_length=200) # 问题
pub_date = models.DateTimeField('发布日期') # 时间
def __str__(self):
return self.question_text
class Choice(models.Model):
question = models.ForeignKey(Question,on_delete=models.CASCADE)
chpice_text = models.CharField(max_length=200) # 回答问题
votes = models.IntegerField(default=0) # 关注度
def __str__(self):
return self.chpice_text
自定义字段展示
from django.contrib import admin
from .models import Question, Choice
# Register your models here.
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date', 'question_text']
fieldsets = [
('时间', {'fields': ['pub_date']}),
('文本', {'fields': ['question_text']})
]
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
自定也列表页
from django.contrib import admin
from .models import Question, Choice
# Register your models here.
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date', 'question_text']
fieldsets = [
('文本', {'fields': ['question_text']}),
('时间', {'fields': ['pub_date']}),
]
# 列表页的展示
list_display = ('pub_date','question_text')
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)