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跳转)的更多相关文章

  1. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)

    一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 from app01 import views urlpatterns = [ path('admin/', admi ...

  2. js小功能合集:计算指定时间距今多久、评论树核心代码、字符串替换和去除。

    1.计算指定时间距今多久 var date1=new Date('2017/02/08 17:00'); //开始时间 var date2=new Date(); //当前时间 var date3=d ...

  3. django配置*app*登录案例*orm简用

    1.静态文件的配置和使用 1.静态文件的配置和使用 没有css样式: 添加样式 结果: <html lang="en"> <head> <meta c ...

  4. 使用ajax 做注册登录示例,

    需求:使用AJAX 做一个注册登录示例, 如用户名已存在, 在填写用户名时给与提示. 1:首先创建一个新的django项目.做好配置 在settings.py文件里做好数据库配置: 1. 告诉Djan ...

  5. django -- 实现ORM登录

    前戏 上篇文章写了一个简单的登录页面,那我们可不可以实现一个简单的登录功能呢?如果登录成功,给返回一个页面,失败给出错误的提示呢? 在之前学HTML的时候,我们知道,网页在往服务器提交数据的时候,都是 ...

  6. 转:LoadRunner获取毫秒及字符串替换实现

    今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复.所以就想用时间+随机数来实现,但是实现中遇到一个问题. 名字中不可以包含.这个特殊的字符的.所以要处理 ...

  7. ORACLE中的字符串替换 replce、regexp_replace 和 translate

    一.语法 replace(str_source,str1,str2)  把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 ...

  8. react-native 完整实现登录功能

    react native实现登录功能,包括ui的封装.网络请求的封装.导航器的实现.点击事件. demo下载:react-native 完整实现登录功能 后台如果是springmvc实现的需要配置上如 ...

  9. Django:用户登录实例

    Django:用户登录实例 一.源代码 1,login.html代码(登录界面): <!DOCTYPE html> <html lang="zh-CN"> ...

随机推荐

  1. OAuth 2.0 学习

    OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R ...

  2. ubuntu and centos各种上网代理设置

    1.Ubuntu 一. apt-get 代理设置 由于公司通过代理上网,firefox的代理设置很容易就搞定了,但是通过apt-get安装软件还是不行,于是,查阅了很多资料,最多的方法就是网上流传的三 ...

  3. UI设计规范:单选按钮 vs 复选框,没那么简单

    无论是网页设计,还是移动app设计,都经常用到单选按钮和复选框这两个组件.这两个组件看似意义明确,很好区分,但在实际设计中却很容易用错,带来不好的用户体验. 本文中我通过列举几个典型的错误用法,帮助设 ...

  4. apicloud管理

    以下所有操作都是指“apicloud”平台下的管理: 1. 一定要记得备份证书.证书不是因为你记得别名和密码就能还原的.因为apicloud是服务器session存数据,千万不要打开多个app操作页面 ...

  5. cuda使用

    import torchx = torch.randn(2, 3)x = x.cuda() print (x)#最简单的cuda使用,但是感觉好慢啊

  6. 2018.10.23 NOIP训练 Leo的组合数问题(组合数学+莫队)

    传送门 好题. 考察了莫队和组合数学两个知识板块. 首先需要推出单次已知n,mn,mn,m的答案的式子. 我们令f[i]f[i]f[i]表示当前最大值为第iii个数的方案数. 显然iii之后的数都是单 ...

  7. Mac pro 安装IntelliJ IDEA 2017版

    1.官网下载这个版本https://www.jetbrains.com 2.点击下载即可 3.下载好后放入本地 4.启动mac终端进行破解 输入命令:sudo vim /private/etc/hos ...

  8. 使用百度webuploader实现大文件上传

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  9. SIGPIPE导致cronttab和shell脚本等工作异常

    cron和sh等可能被某些共享库hook,而这些共享库可能会触发SIGPIPE,导致crontab和shell工作异常,解决办法是程序忽略SIGPIPE或脚本中使用"trap '' SIGP ...

  10. HDU6029 Graph Theory 2017-05-07 19:04 40人阅读 评论(0) 收藏

    Graph Theory                                                                 Time Limit: 2000/1000 M ...