1.项目结构
2.项目需求
利用Django+sqlite实现日程消息的保存,显示,并且可以使用Django表单提交新的日程请求
2.1前端:
显示表单信息,提交表单 POST
2.2后端:
1.接受请求
2.处理数据(数据进入数据库)
3.返回页面
3.项目运行结果
成功完成所需功能!
4.知识点
4.1前端关键代码
<form id="message_form" method="post" action="add_message">
{% csrf_token %}
{% for field in form.visible_fields %}
{{ field }}
{% endfor %}
<input type="submit" name="submit" value="Create message" />
</form>
关键在于提交方式method与路由action,这两个地方一定要对
当发现这几处地方都对但代码就是报错提示Not Found: /add_message/
1.检查路由是否配置正确 2.检查是不是将form拼写成了from
4.2后端关键代码
class messageForm(forms.ModelForm):
text = forms.CharField(max_length=128)
date = forms.CharField(max_length=20)
class message(models.Model):
text = models.CharField(max_length=128,unique = True)
date = models.CharField(max_length=20,unique= True)
一个是配置数据库的代码,一个是将数据库与表单联系起来的代码,这两个都要有
if request.method == "POST":
form = messageForm(request.POST)
if form.is_valid():
form.save(commit=True)
else:
print(form.errors)
这是在视图中的代码,用于接收来自前端提交的信息,如果没有问题,就保存到数据库 里面,否则返回错误信息
注意:
报错:IntegrityError: UNIQUE constraint failed****
意味着你提交的信息在数据库中已经有了,而且你设置了数据唯一,改掉就好
5.后期可以优化的点
5.1增加修改,删除功能
5.2美化页面