应用命名空间
需求:
*在使用name的同时,会出现新的问题,就是不同url 中如果他们的name相同的话,Django会出错。会找到其他的name=‘login’
比如前端登录的app中url也使用的 name=‘login’
这时Django就会将前端与后端搞混,为了解决这一个问题,就要使用应用命名空间。
如何混乱呢,要看在pycharm中哪个APP在上面,就是用上面的url.py中的映射。
正确的代码应该这么写:
cms中url.py文件:
from django.urls import path
from . import views
#app_name
app_name = ‘cms’
urlpatterns = [
path(’’,views.index,name=‘cms’),
path(‘sigin/’,views.login,name=‘login’),
]
cms中view文件:
from django.http import HttpResponse
from django.shortcuts import reverse,redirect
def index(request):
username = request.GET.get(‘username’)
if username :
return HttpResponse(“首页”)
else:
#reverse的写法
url = reverse(‘cms:login’)
return (redirect(url))
def login(r