Django问题记录(学习笔记)

Q1:运行报错 RuntimeError at /login_action

 

Q2:使用@login_required没生效问题

from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib import auth
from django.contrib.auth.decorators import login_required

# Create your views here.
def login_action(request):
    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
        print('do login: username={}, password={}'.format(username, password))
        # if (username == 'admin' and password == 'admin123'):

        #引用Django认证登陆
        user = auth.authenticate(username=username, password=password)
        if user is not None:
            auth.login(request, user) #调用login()函数进行登陆,login()函数接收HttpRequest对象和一个user对象

            response = HttpResponseRedirect('/event_manage/')
            # response.set_cookie('user', username, 3600) #添加浏览器cookie
            request.session['user'] = username #将session信息记录到浏览器
            return response
        else:
            return render(request, 'login_action.html', {'error': 'username or password error!'})
    else:
        return render(request, 'login_action.html')


def index(request):
    return render(request, 'index.html')

@login_required  
def  event_manage(request):
    # username = request.COOKIES.get('user', '') #读取浏览器cookie
    username = request.session.get('user', '') #读取浏览器session
    return render(request,"event_manage.html",{"user":username})

        A2:使用登录验证时,需要清除cookie/session,直接使用浏览器设置清除不掉,需要手动删除。删除之后,直接使用URL跳转就会被限制。

 

Q3:创建表报错

        A3:参考博友文章https://blog.csdn.net/hpu_yly_bj/article/details/78927121。使用ForeignKey时,添加参数on_delete=models.CASCADE

 

Q4:django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported.

        A4:参考博友文章https://blog.csdn.net/jason_cdd/article/details/106953974

 

Q5:django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 61] Connection refused)")

        A5:查看mysql运行状态。mysql.server status

 

Q6:运行报错:RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods

      A6:安装cryptography: pip3 install cryptography

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值