web应用的核心 是让任何用户都能够注册账户并且使用他 创建表单,用户可以添加主题和条目,编辑既有条目 django 如何防范对基于表单的网页发起的常见攻击 用户身份验证系统,创建注册界面 修改视图函数,让用户只能看到自己的数据 学习如何保护用户数据的安全
当前只有超级用户可以通过管理网站输入数据 使用dajngo 的表单创建工具创建能够让用户输入数据的页面
添加新主题 创建基于表单的页面:定义URL 视图 模板 区别:需要导入包含表单的模块 forms.py
创建表单 ModelForm
#导入模块forms和需要的模型Topic from django import forms from models import Topic class TopicForm(forms.ModelForm): class Meta:#内嵌的Meta类,告诉django 根据那个模型创建表单和含有哪些字段 model = Topic #根据模型Topic创建表单 fields = ['text'] labels = {'text': ''} #不要为text生成标签URL模式,当用户要添加新主题时,切换
url(r'^new_topic/$', views.new_topic, name='new_topic') #将请求交给视图函数new_topic() from django.http import HttpResponseRedirect#用户提交主题使用这个类将用户重定向到topics from django.core.urlresolvers import reverse#django在页面被请求时生成URL from .forms import TopicForm def new_topic(request): if request.method != 'POST': form = TopicForm() else: form = TopicForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse('my_webs:topics'))#reverse()根据指定的URL模型指定URL context = {'form': form} return render(request, 'my_webs/new_topic.html', context)