美文网首页白手起家学Python
Django实践(六)房贷计算器

Django实践(六)房贷计算器

作者: 敖瑞_rick | 来源:发表于2018-07-29 14:31 被阅读2次

    上一章我们在Django实践(五)房贷计算器中,达成了前后端基本的交互,恩……真的是相当的基础,仅仅是前端输入的参数可以赋值再输出,没有做任何的数据处理。
    本章我们应该为每一个用户提供一个数据提交入口,因此我们要将django的用户登陆系统搭建好。


    快速配置

    参考教程 django 快速实现完整登录系统(cookie)
    请根据上述参考材料建立一个新的APP,搭建用户登陆系统。


    这里要注意:教程的Django版本是1.6x,和我们使用的1.11现有版本有一些小地方相比要修改,我是这么修改的:

    1. cookie相关的需要注释掉;


      image.png
    2. 打开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带到了新的页面,接下来我们可以在这个页面进行进一步的开发

    下一章我们将开始建立一个用户的房产数据提交入口,让用户可以按部就班的填写相关参数,这离我们计算房贷又更近了一步!

    相关文章

      网友评论

        本文标题:Django实践(六)房贷计算器

        本文链接:https://www.haomeiwen.com/subject/olwzmftx.html