码迷,mamicode.com
首页 > 其他好文 > 详细

django跳转页面传参

时间:2019-12-22 20:11:04      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:password   反转   传递   import   pre   文章   管理   imp   mode   

1、如果在反转url的时候,需要添加参数,那么可以通过传递‘kwargs‘参数到‘reverse‘函数中。实例代码:

urls.py

from django.urls import path, re_path
from app01 import views

urlpatterns = [
    path(article/<year>/<month>/,views.article,name=article),
    path(‘‘, views.Login.as_view(), name="login"),
    ]

views.py

from django.shortcuts import HttpResponse, redirect, reverse
from django.contrib.auth.models import User, 
from django.views.generic import View
from django.contrib.auth import authenticate, login, 

class Login(View):
    def get(self, request):
        return render(request, login.html)

    def post(self, request):
        username = request.POST.get(username)
        passwd = request.POST.get(passwd)
        user = authenticate(request, username=username, password=passwd)
        if user is not None:
            if user.is_active:
                login(request, user)
                # 登录成功跳转页面
                return redirect(reverse(article, kwargs={year: 2019, month: 12}))
            else:
                err_msg = 用户未激活,请联系管理员进行激活
        else:
            err_msg = 用户名或密码有误
        return render(request, login.html, {"err_msg": err_msg, "username": username})


def article(request, year, month):
    return HttpResponse(您查询的文章日期是:%s年%s月 %(year, month))

2、如果想要添加查询字符串的参数,则必须手动的进行拼接。实例代码如下:

login_url = reverse(login)+"?next=/"

django跳转页面传参

标签:password   反转   传递   import   pre   文章   管理   imp   mode   

原文地址:https://www.cnblogs.com/xshan/p/12080703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!