Django 项目 实现重定向并进行反向解析

Posted lowmanisbusy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 项目 实现重定向并进行反向解析相关的知识,希望对你有一定的参考价值。

一.项目路由配置urls.py中

from django.conf.urls import include, url
from django.contrib import admin

# 匹配应用
urlpatterns = [
    url(r^admin/, include(admin.site.urls)),
    # 配置namespace 属性, 以便在视图中进行重定向时,定位对应的应用中,即使url改变了       
    url(r^, include(goods.urls, namespace=goods)),  # 商品模块
]

二.应用路由配置urls.py中

# 匹配视图的方法
from django.conf.urls import url
from apps.goods import views
from apps.goods.views import IndexView, DetailView, ListView

urlpatterns = [
# 配置 name 属性,重定向时定位该视图中,即使url发生了改变 url(r
^index$, IndexView.as_view() ,name=index), # 首页 ]

三.某个视图文件views.py中

from django.shortcuts import render, redirect 
from django.contrib.auth import authenticate, login, logout 
from django.views.generic import View 
from django.core.urlresolvers import reverse  # 用来进行反解析操作
#
登出账号 /user/logout class LogoutView(View): """退出登录""" def get(self, request): # django自带的认证系统功能,能登出账号 logout(request) # 用户登出账号,将用户的访问页面重定向到首页,使用reverse()方法进行反向解析,‘goods:index‘对应的是项目路由配置urls.py中namespace属性和

     # 应用路由配置urls.py中name属性,所以,即使url发生了改变也能重定向到对应的视图中
     return redirect(reverse(goods:index))

 








以上是关于Django 项目 实现重定向并进行反向解析的主要内容,如果未能解决你的问题,请参考以下文章

反向解析与重定向 | Django开发

Django 在反向重定向中使用新创建的对象

Django模板--反向解析

重定向vs反向django

ajax请求返回django.urls.exceptions.NoReverseMatch后Django反向和重定向

nginx实现内容重定向的两种方式:rewrite和反向代理