本文实例讲述了Django框架封装外部函数。分享给大家供大家参考,具体如下:
需求:我们来模拟用户登录,验证是否输入正确的用户名和密码
1.构建登录表单
- <form method="post">
- <p>用户名:<input type="text" name="username"></p>
- <p>密码:<input type="password" name="pwd"></p>
- <p><input type="submit" value="提交"></p>
- <hr>
- </form>
- <p>
- 登录状态提示:{{ result }}
- </p>
-
2.程序判断
- #coding:utf-8
- from django.shortcuts import render,render_to_response
- # Create your views here.
- from django.http import HttpResponse
- def hi(request):
- msg = {'result':''}
- if userLogin(request.POST.get('username'),request.POST.get('pwd')):
- msg['result'] = '登录成功'
- else:
- msg['result'] = '登录失败'
- return render_to_response("index.html",msg)
- #判断用户登录函数
- def userLogin(username,pwd):
- if username == 'jack' and pwd == '123':
- return True
- else:
- return False
-
验证如果输入的用户名为jack,密码为123,就提示“登录成功”
3.一个小意外
如果你提交上面的表单,会报如下错误,这个是Django框架的验证机制

这是为了防止跨域攻击,我们这里暂时不研究这个安全机制,来到settings.py文件注释掉下面这行

这样就不会报上面的那个错误了。
如果用户输正确的用户名和密码(jack、123),模板上{{ result }} 就是提示“登录成功”。
4.如何把userLogin函数写到外部?
在views.py文件同级下新建user.py文件

然后在views.py里
先引入
使用
完整的views.py代码如下:
- #coding:utf-8
- from django.shortcuts import render,render_to_response
- # Create your views here.
- from django.http import HttpResponse
- import user
- def hi(request):
- msg = {'result':''}
- if user.userLogin(request.POST.get('username'),request.POST.get('pwd')):
- msg['result'] = '登录成功'
- else:
- msg['result'] = '登录失败'
- return render_to_response("index.html",msg)
-
希望本文所述对大家基于Django框架的Python程序设计有所帮助。