zoukankan      html  css  js  c++  java
  • django创建项目,一个简单的登录。

     项目目录:

     启动项目:

     关于请求和响应的请求信息和相应信息的设置还需要你自己写吗?之前我们用wsgiref是不是还写来着,现在都不需要写了,简单不。

      还有一点:post请求的时候你会发现一个 Forbidden的错误:

     

     现在只需要做一步,在settings配置文件里面将这一行注释掉,这是django给你加的一个csrf的认证,我们可以暂时取消掉验证

    将CsrfViewMiddleware注释掉就可以了。
    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',
    ]

    一个简单登录的列子:

    1.再urls里面配置视图函数路径,urls里面就是要配置我请求的接口路径。

    写法:url(r'^index/', views.index),加上^符合,这个代表正则。

     2.在templates里面方要访问的html页面

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <!--      告诉浏览器安装IE的最高版本渲染浏览器-->
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!--      整个网站和等比缩放,目的兼容:移动端,web端。可以完整访问网站-->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
        <title>Bootstrap 101 Template</title>
        <!-- Bootstrap  引入文件 -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
    
    </head>
    <body>
    <h1>欢迎,登录页面!</h1>
    <form action="/index/" method="post">
        用户名:<input type="text" name="userName">
        密码:<input type="text" name="password">
        <input type="submit">
    </form>
    </body>
    </html>

    3.在views里面写我们绑定的视图函数(接口)

    render:用来返回Html页面。
    HttpResponse:用来返回字符串
    视图函数中形参request代表,请求过来的参数。
    获取参数的两种形式:
    request.GET,requet.POST返回都是一个字典,可以通过键来获取值

    get:request.GET.get("XXX")
    post:request.POST.get("XXX")

    request.method:获取请求方式
    from django.shortcuts import render,HttpResponse
    
    # Create your views here.
    
    
    '''
    def index(request):
        # 获取GET数据
        print(request.GET) #<QueryDict: {'userName': ['admin'], 'password': ['xr123123']}>
        userName = request.GET.get("userName")
        password = request.GET.get("password")
        if userName == "admin" and password == "1111":
            # HttpResponse用来回复字符串
            return HttpResponse("登录成功")
        else:
            return HttpResponse("登录失败")
        # return render(request,'login.html')
    
    '''
    def index(request):
        # 获取请求方式数据
        print(request.method)
        if request.method == 'POST':
            userName = request.POST.get("userName")
            password = request.POST.get("password")
            if userName == "admin" and password == "1111":
                # HttpResponse用来回复字符串
                return HttpResponse("登录成功")
            else:
                return HttpResponse("登录失败")
        else:
            return render(request,'login.html')
  • 相关阅读:
    c++析构函数、虚析构函数、纯虚析构函数详解
    php实现设计模式之 策略模式
    php实现设计模式之 简单工厂模式
    记录一下工作中碰到的一些有用的命令
    预估高并发下API服务器数量
    囧啊!!时间戳转化为时间出错php
    php 实现hash表
    php 中使用cURL发送get/post请求,上传图片,批处理
    redis虚拟内存
    redis主从同步
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14554745.html
Copyright © 2011-2022 走看看