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'))
原文地址:https://www.cnblogs.com/lowmanisbusy/p/9196850.html