Django框架学习笔记(2.实现用户登录(上))
来源:互联网 发布:川普 好莱坞 知乎 编辑:程序博客网 时间:2024/06/06 05:22
先写简单的:
views.py:
from django.shortcuts import HttpResponsefrom django.shortcuts import renderdef login(request): return render(request, "login.html")def home(request): return HttpResponse("<h1>你好</h1>")urls.py:
from django.shortcuts import HttpResponsefrom django.shortcuts import renderdef login(request): return render(request, "login.html")def home(request): return HttpResponse("<h1>你好</h1>")templates下建立login.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> label{ width: 80px; text-align: right; display: inline-block; } </style></head><body><form action="/login" method="get"> <p> <label for="username">用户名</label> <input id="username" type='text'/> </p> <p> <label for="password">密码</label> <input id="password" type='text'/> <input type="submit" value="提交"/> </p></form></body></html>
运行:
如果有CSS和JS(静态文件),会出错,那么接下来配置:
创建了一个static文件夹,放入JS和CSS文件,然后在HTML文件中修改下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/commons.css"> <style> label{ width: 80px; text-align: right; display: inline-block; } </style></head><body><form action="/login" method="get"> <p> <label for="username">用户名</label> <input id="username" type='text'/> </p> <p> <label for="password">密码</label> <input id="password" type='text'/> <input type="submit" value="提交"/> </p></form><script src="/static/jquery.min.js"></script></body></html>
在settings.py后面加上这段:
STATICFILES_DIRS={ os.path.join(BASE_DIR, "static"),}
再次运行:
由此可以得出:
应该优先
1.配置模板路径(在settings.py的TEMPLATES里的‘DIRS’)
2.配置静态目录(见上)
静态文件处理好了,那么点击提交后到底提交到了哪里呢?
继续修改,完成用户名密码验证:
注释掉setting.py里面的:
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', #'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',]
views.py修改如下:
from django.shortcuts import HttpResponsefrom django.shortcuts import renderfrom django.shortcuts import redirectdef login(request): error_msg = "" if request.method == "POST": user = request.POST.get("user", None) pwd = request.POST.get("pwd", None) if user == "yiqing" and pwd == "handsome": return redirect("http://www.baidu.com") else: error_msg = "用户名或密码错误" return render(request, "login.html", {"error_msg": error_msg})def home(request): return HttpResponse("<h1>你好</h1>")
login.html修改如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/commons.css"> <style> label{ width: 80px; text-align: right; display: inline-block; } </style></head><body><form action="/login/" method="POST"> <p> <label for="username">用户名</label> <input id="username" type='text' name="user"/> </p> <p> <label for="password">密码</label> <input id="password" type='password' name="pwd"/> <input type="submit" value="提交"/> <span style="color:red">{{ error_msg }}</span> </p></form><script src="/static/jquery.min.js"></script></body></html>
如果输入用户名和密码正确,则会跳转百度,否则告诉用户错误:
阅读全文
0 0
- Django框架学习笔记(2.实现用户登录(上))
- Django框架学习笔记(3.实现用户登录(下))
- Django框架学习笔记(10.基于ORM实现简单的用户登录)
- Django实现用户登录
- JFinal学习笔记(二) 实现简单的用户登录
- JFinal学习笔记(三) 过滤器实现用户登录验证
- Django学习笔记(九)--django框架的bug总结
- Spring MVC 学习笔记8 —— 实现简单的用户管理(4)用户登录
- 【学习笔记】struts2框架自定义拦截器(检查用户登录为例)
- Django框架学习笔记(16.利用ajax实现简易的验证)
- mybatis学习笔记二mybatis结合spring mvc实现(用户登录,数据查询)
- django学习笔记之登录
- PYTHON框架之DJANGO学习笔记(十二)
- PYTHON框架之DJANGO学习笔记(十四)
- Django框架学习笔记(1.安装创建初识)
- Django框架学习笔记(4.简单的总结)
- Django框架学习笔记(9.ORM基本操作)
- Django框架学习笔记(12.基本知识小总结)
- PAT乙级1042. 字符统计(20)
- Java开发相关官方存档下载地址
- 使用javaini对.ini文件进行操作
- leetcode 522. Longest Uncommon Subsequence II 最长非公共子序列
- hadoop学习(五)----HDFS的java操作
- Django框架学习笔记(2.实现用户登录(上))
- mybatis获取自增主键的值
- Python基础-单元测试-unittest.TestCase(setUp和tearDown)
- 基于讯飞语音API应用开发之——离线词典构建
- Sound Classification with TensorFlow总结
- SQL转换
- 189. Rotate Array
- 【C++练习】贪吃蛇
- NOY 139 康托展开