Django(完整的登录示例、render字符串替换和redirect跳转)
day61
1. 登录的完整示例
复习:
form表单往后端提交数据需要注意哪三点: 五一回来默写 <-- 谁写错成from谁就请大家吃雪糕
1. form不是from,所有获取用户输入的标签都应该放在form里面, 并且必须要有name属性
2. action属性控制往哪儿提交,method一般都设置成post
3. 提交按钮必须是type=submit,不能是别的类型
2. GET请求和POST请求
GET请求:
1. 浏览器请求一个页面
2. 搜索引擎检索关键字的时候
POST请求:
1. 浏览器向服务端提交数据,比如登录/注册等

点击登录后:

以上详细程序:
urls.py
from .views import yimi, xiaohei, login, baobao
#保存路径和函数的对应关系
urlpatterns = [
url(r'^yimi/', yimi), #路径,函数
url(r'^xiaohei/', xiaohei),
url(r'^login/', login),
url(r'^baobao/', baobao)
]
views.py
from django.shortcuts import HttpResponse, render # 函数在views
def yimi(request):
# request参数保存了所有和用户浏览器请求相关的数据
# return HttpResponse('hello yimi!') #不用自己设置状态码,响应头 ####################################################################
# with open("templates/yimi.html", "r", encoding="utf-8") as f:
# data = f.read()
# return HttpResponse(data)
#######################################################################
'''上下方法一样'''
return render(request, "yimi.html")#只需写yimi.html,自己会去templates下找 def xiaohei(request):
# request参数保存了所有和用户浏览器请求相关的数据
return HttpResponse('hello xiaohei!') def login(request):
if request.method == "GET":
# get请求 , 想要获取网页,引擎搜索关键字时
return render(request, "login.html")
else:
# 如果是POST请求,向后端提交数据 登录,注册等等
email = request.POST.get("email", None)
pwd = request.POST.get("pwd", None)
print(email, pwd)
return HttpResponse("shit hole") #页面显示 # post请求
def baobao(request):# login的表单 action 传到 baobao
print(request.POST) #终端打印
email = request.POST.get("email", None)
pwd = request.POST.get("pwd", None)
print(email, pwd)
return HttpResponse("shit hole") #页面显示
login.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>mysite-登录页面</title>
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.css">
<link rel="stylesheet" href="/static/fontAwesome/css/font-awesome.css"> <style>
body {
background-color: #eee;
}
</style>
</head>
<body> <div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4" style="margin-top: 100px">
<h1 class="text-center">请登录</h1>
{# action 属性定义了当表单被提交时数据被送往何处 提交的后端路径 login -> baobao#}
<form class="form-horizontal" action="/login/" method="post">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label"></label>
<div class="input-group col-sm-8">
<span class="input-group-addon"><i class="fa fa-envelope-o" aria-hidden="true"></i></span>
<input type="email" name="email" class="form-control" id="inputEmail3" placeholder="Email">
{# 通过name取值#}
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label"></label>
<div class="input-group col-sm-8">
<span class="input-group-addon"><i class="fa fa-wrench" aria-hidden="true"></i></span>
<input type="password" name="pwd" class="form-control" id="inputPassword3" placeholder="Password">
{# 通过pwd取值#}
</div>
</div>
<div class="form-group">
<div class="input-group col-sm-offset-2 col-sm-8">
<div class="checkbox">
<label>
<input type="checkbox"> 记住我
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="input-group col-sm-offset-2 col-sm-8">
<button type="submit" class="btn btn-primary btn-block">登录</button>
</div>
</div>
<p class="text-danger text-center">{{ error }}</p>
</form>
</div>
</div>
</div>
{#<script src="/static/jquery-3.2.1.min.js"></script>#}
{#<script src="/static/bootstrap/js/bootstrap.js"></script>#}
</body>
</html>
render字符串替换和redirect跳转

Django(完整的登录示例、render字符串替换和redirect跳转)的更多相关文章
- python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)
一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 from app01 import views urlpatterns = [ path('admin/', admi ...
- js小功能合集:计算指定时间距今多久、评论树核心代码、字符串替换和去除。
1.计算指定时间距今多久 var date1=new Date('2017/02/08 17:00'); //开始时间 var date2=new Date(); //当前时间 var date3=d ...
- django配置*app*登录案例*orm简用
1.静态文件的配置和使用 1.静态文件的配置和使用 没有css样式: 添加样式 结果: <html lang="en"> <head> <meta c ...
- 使用ajax 做注册登录示例,
需求:使用AJAX 做一个注册登录示例, 如用户名已存在, 在填写用户名时给与提示. 1:首先创建一个新的django项目.做好配置 在settings.py文件里做好数据库配置: 1. 告诉Djan ...
- django -- 实现ORM登录
前戏 上篇文章写了一个简单的登录页面,那我们可不可以实现一个简单的登录功能呢?如果登录成功,给返回一个页面,失败给出错误的提示呢? 在之前学HTML的时候,我们知道,网页在往服务器提交数据的时候,都是 ...
- 转:LoadRunner获取毫秒及字符串替换实现
今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复.所以就想用时间+随机数来实现,但是实现中遇到一个问题. 名字中不可以包含.这个特殊的字符的.所以要处理 ...
- ORACLE中的字符串替换 replce、regexp_replace 和 translate
一.语法 replace(str_source,str1,str2) 把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 ...
- react-native 完整实现登录功能
react native实现登录功能,包括ui的封装.网络请求的封装.导航器的实现.点击事件. demo下载:react-native 完整实现登录功能 后台如果是springmvc实现的需要配置上如 ...
- Django:用户登录实例
Django:用户登录实例 一.源代码 1,login.html代码(登录界面): <!DOCTYPE html> <html lang="zh-CN"> ...
随机推荐
- DB2 SQL1477N问题
ERROR [55019] [IBM][DB2/NT] SQL1477N For table "DB_YHJX.YHJX_FHDKFHZ" an object "521 ...
- Laravel 本地化定义
1.配置本地化语言Laravel 的本地化语言配置项位于config/app.php: [php] view plain copy 'locale' => 'zh',//当前语言 'fallba ...
- httpclient之基本类
HttpHost类 主机类 主要属性有域名和端口. HttpRoute类 路由类 主要属性有targetHost(目标主要).proxyChain[]代理链 RouteTracker类 和H ...
- sqlldr 笔记
表结构 CREATE table sqlloader_test ( f1 char(20), f2 char(20), f3 number(16), f4 date ); 数据文件data.csv 1 ...
- Android教程:wifi热点问题
http://www.linuxidc.com/Linux/2012-05/60718.htm 现在很多移动设备都提供wifi hostpot功能,使用方便,也省下了原来无线路由器的成本.wifi和w ...
- XE4 for ios 谨慎处理字符串
由于xe4 for ios 里面的字符串处理有变化,具体可以参考官方文档,这两天帮一个朋友调试ios 的 应用,由于没有注意这一块,折腾了很长时间.特此记录下来,希望其他人不要走弯路. 以下面代码为 ...
- 03-vue-router
前端路由的实现原理 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 对call() apply() 方法的简单理解
真的是非常简单的理解,我知道的并不多,在网上查找了很多的资料,还是只能了解一点皮毛,下面来整理出来,方便以后深入的去学习,也是对目前知道的知识点的巩固. 整理一些网上的经典解答: 1.一句话区分cal ...
- generate
一:generate Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,function, ...
- 简单的nginx模拟网站的负载均衡
环境:nginx1.10.3 虚拟机环境:3台centos7虚拟机 将148机器作为转发服务器配置如下 监听80端口,在http里面配置如下 将edc.com分别转发到149和150的服务器上 本地主 ...