zoukankan      html  css  js  c++  java
  • Django视图

    POST视图

    CSRF:CSRF(Cross-siterequestforgery跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用

     错误解析:

    解决办法:

    处理登陆请求:

    登陆成功:

    登陆失败:

    指向event_manage.html

    views.py

    def login_action(request):
        if request.method == "POST":
            username = request.POST.get('username','')
            password = request.POST.get('password','')
            if username == 'admin' and password == "admin123":
                #return = HttpResponseRedirect('/event_manage/')
                #cookie的使用
                response = HttpResponseRedirect('/event_manage/')
                response.set_cookie('user',username,3600)#添加浏览器cookie
                return response
            else:
                return render(request,'index.html',{'error':'username or password error!'}) 
                #这里的error对应index.html中的error
    
    #发布会管理系统
    def event_manage(request):
        username = request.COOKIES.get('user','')#读取浏览器cookie
        #return render(request,"event_manage.html")
        return render(request,"event_manage.html",{"user":username})

      

    event_manage.html

    <!DOCTYPE html>
    <html>
     <head>
        <title>Event Manage Page</title>
     </head>
     <div style="float:right;">
     <a> 嘿!{{ user }}>欢迎</a><hr/>
     </div>
     <body>
        <h1>Login Success!</h1>
     </body>
    </html>

      

    添加<div>标签来显示用户名

     Session的使用:

    views.py

    from django.shortcuts import render
    from django.http import HttpResponse,HttpResponseRedirect
    # Create your views here.
    def index(request):
        #return HttpResponse("Hello Django!")
        return render(request,"index.html")
    
    #创建login_action视图函数
    #登陆动作
    def login_action(request):
        if request.method == "POST":
            username = request.POST.get('username','')
            password = request.POST.get('password','')
            if username == 'admin' and password == "admin123":
                #return = HttpResponseRedirect('/event_manage/')
                #cookie的使用
                response = HttpResponseRedirect('/event_manage/')
                #response.set_cookie('user',username,3600)#添加浏览器cookie
    
                #将session信息记录到浏览器
                request.session['user'] = username
                return response
            else:
                return render(request,'index.html',{'error':'username or password error!'}) 
                #这里的error对应index.html中的error
    
    #发布会管理系统
    def event_manage(request):
        #username = request.COOKIES.get('user','')#读取浏览器cookie
    
        username = request.session.get('user','') #读取浏览器session
    
        #return render(request,"event_manage.html")
        return render(request,"event_manage.html",{"user":username})

     再次刷新页面登陆,报错!!显示如下图方框:

    这个错误和session的机制有关,既然要从web服务器端来记录用户的信息,那么一定要有存放用户session对应信息的地方才行。所有需要创建django_session表。不过django已经帮助准备好相应的表,只需要生成即可。

    cmd.exe

    通过“migrate”命令进行数据迁移,然后再配置数据库。(Django已经默认生成AQLite3数据库)。

    在settings.py中查看SQLTite3的配置。

    settings.py

     Django 认证系统

    登陆Admin后台

    创建admin后台的管理员账号

    创建的超级管理账号/密码:admin/amin123456

    先在cmd下进行  python3 manage.py runserver

    然后登陆网页:127.0.0.1:8000/admin/

     

  • 相关阅读:
    转:[Silverlight入门系列]使用MVVM模式(9): 想在ViewModel中控制TreeView节点展开?
    C#线程同步方法——Monitor
    转:Mongodb源码分析之Replication模式
    转:Mysql使用主从复制机制(replication)
    Ruby IDE
    转:ASP.NET MVC4细嚼慢咽---(5)js css文件合并
    转:ASP.NET MVC4细嚼慢咽---(6)全局过滤器
    转:WCF服务开发与调用的完整示例
    转:WF工作流技术内幕 —— 通过Web服务调用Workflow工作流(开发持久化工作流)
    汇总高效的卷积神经网络结构[转载]
  • 原文地址:https://www.cnblogs.com/aszeno/p/10500280.html
Copyright © 2011-2022 走看看