上一章我们在Django实践(五)房贷计算器中,达成了前后端基本的交互,恩……真的是相当的基础,仅仅是前端输入的参数可以赋值再输出,没有做任何的数据处理。
本章我们应该为每一个用户提供一个数据提交入口,因此我们要将django的用户登陆系统搭建好。
快速配置
参考教程 django 快速实现完整登录系统(cookie)
请根据上述参考材料建立一个新的APP,搭建用户登陆系统。
这里要注意:教程的Django版本是1.6x,和我们使用的1.11现有版本有一些小地方相比要修改,我是这么修改的:
-
cookie相关的需要注释掉;
image.png - 打开mysite5/online/views.py 文件:
#注册
def regist(req):
if req.method == 'POST':
uf = UserForm(req.POST)
if uf.is_valid():
#获得表单数据
username = uf.cleaned_data['username']
password = uf.cleaned_data['password']
#添加到数据库
User.objects.create(username= username,password=password)
return HttpResponse('regist success!!')
else:
uf = UserForm()
return render_to_response('regist.html',{'uf':uf}, context_instance=RequestContext(req))
context_instance=RequestContext(req)可以删去,其他的页面也是一样
-
调整好之后
image.png
image.png
#注册
def regist(req):
if req.method == 'POST':
uf = UserForm(req.POST)
if uf.is_valid():
#获得表单数据
username = uf.cleaned_data['username']
password = uf.cleaned_data['password']
uname = req.GET.get('username')
users = User.objects.filter(username=username)
if len(users)>0:
return HttpResponse('用户已存在')
else:
#添加到数据库
User.objects.create(username= username,password=password)
return HttpResponse('regist success!!')
else:
uf = UserForm()
return render_to_response('online/regist.html',{'uf':uf})
这个注册虽然还是有破绽(例如用中文注册会显示错误),但是用英文和数字已经可以完成注册了。参考:用户名重复
你可以看到,cookie将username带到了新的页面,接下来我们可以在这个页面进行进一步的开发
下一章我们将开始建立一个用户的房产数据提交入口,让用户可以按部就班的填写相关参数,这离我们计算房贷又更近了一步!
网友评论