Django实践(二)——使用模型类定义数据表,实现表单页面跳转
1.设计和开发信息发布的数据防访问层
配置djangosite/settings.py中的INSTALLED_APPS,添加应用app_1的Config类,告诉Django需要安装应用app_1中的模型。
'app_1.apps.AppConfig',
(注意:不要忘记逗号!)
在app_1/models.py中,新建模型类Moment,定义信息发布表。
相当于在数据库中定义数据和类型。
class Moment(models.Model):
content = models.CharField(max_length=200) # 保存消息内容
user_name = models.CharField(max_length=20) # 保存发布人的名字
kind = models.CharField(max_length=20) # 保存消息类型
生成数据移植文件(makemigrations)
将models.py中定义的数据表转换成数据库生成脚本的过程,检查改动是否符合数据库的语法。
通过命令行工具manage.py完成:
python manage.py makemigrations app_1
生成如下文件,是数据库生成的中间文件:
如果对models.py进行修改,则需要再执行一次makemigrations,会生成新的.py中间文件。
注意:migrations中的文件均由manage.py生成,开发者不要手动修改。
移植到数据库:
命令行运行
python manage.py migrate
将修改的数据同步到真实数据库中。这个过程会检查migrations中的所有文件,逐步使历次生成的移植文件生效。
2.设计和开发信息录入页面
功能:提供输入界面,用户输入名字、文本消息内容、选择消息类型;提交后网页自动设置该信息的时间并保存到数据库中。
(1)创建表单
新建app_1/forms.py:
from django.forms import ModelForm # 表单类的基类
from app_1.models import Moment
# 定义表单类
class MomentForm(ModelForm):
class Meta:
model = Moment
fields =</