from django.db import models
# Book 类继承自 models.Model。这意味着 Book 是一个 Django 模型,Django 会为它创建一个对应的数据库表classBook(models.Model):# title 字段 # CharField 是一个字符字段,用于存储文本数据# max_length=100 表示这个字段的最大长度是 100 个字符
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)# DateField 是一个日期字段,用于存储日期数据
publication_date = models.DateField()# __str__ 方法定义了当一个 Book 对象被转换为字符串时,应该返回什么内容def__str__(self):return self.title
title = models.CharField(
max_length=100,
null=False,
blank=False,
default='',
unique=True,
help_text='Enter the title of the book.')
max_length:
作用:指定字段的最大长度。
适用范围:CharField 和 TextField。
示例:max_length=100 表示 title 字段的最大长度为 100 个字符。
数据库影响:在数据库中,这个字段会被创建为一个固定长度的字符串字段,最大长度为 100。
null:
作用:指定数据库中该字段是否可以为空。
适用范围:所有字段类型。
示例:null=False 表示数据库中 title 字段不能为空。
数据库影响:在数据库中,这个字段会被创建为 NOT NULL。
blank:
作用:指定表单验证时该字段是否可以为空。
适用范围:所有字段类型。
示例:blank=False 表示表单中 title 字段不能为空。
表单影响:在表单验证时,如果 blank=False,则表单提交时该字段必须填写。
default:
作用:指定字段的默认值。
适用范围:所有字段类型。
示例:default='' 表示 title 字段的默认值为空字符串。
数据库影响:在数据库中,如果插入数据时没有提供 title 字段的值,则默认值为空字符串。
unique:
作用:指定字段值是否必须唯一。
适用范围:所有字段类型。
示例:unique=True 表示 title 字段的值必须唯一。
数据库影响:在数据库中,这个字段会被创建为一个唯一索引,确保每个值都是唯一的。
help_text:
作用:指定表单中的帮助文本。
适用范围:所有字段类型。
示例:help_text='Enter the title of the book.' 表示在表单中显示的帮助文本为 "Enter the title of the book."。
表单影响:在表单中,这个帮助文本会显示在字段旁边,提供用户指导
<!DOCTYPEhtml><html><head><title>Book List</title></head><body><h1>Books</h1><ul>
{% for book in books %}
<li>{{ book.title }} - {{ book.author }}, Published: {{ book.publication_date }}</li>
{% endfor %}
</ul></body></html>
创建超级用户添加测试数据
python manage.py createsuperuser
from.models import Book
admin.site.register(Book)
在项目(非应用程序)urls.py下添加映射
from django.contrib import admin
from django.urls import path, include
urlpatterns =[
path('admin/', admin.site.urls),
path('', include('appppp.urls')),]