• 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')
  • 相关阅读:
    如何写一个简单的解释器
    linux下ifconfig, DNS以及route配置
    再次看编码
    Linux kernel API的查看
    学习Haskell的一些资料
    Unix,windows和Mac中的换行
    Cmake中的find_package功能
    知乎上有一个问题“在mfc框架中,有上面方法能直接将opencv2.0库中的Mat格式图片传递到Picture Control”中显示?
    RANSAC和Flitline
    花40分钟写一个-CBIR引擎-代码公开
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14554745.html
Copyright © 2020-2023  润新知