Sim*_*mon 9 django django-urls django-admin
启用管理员界面并启动开发Web服务器(例如128.0.0.1:8000)后,我可以访问管理界面
128.0.0.1:8000/admin.
Run Code Online (Sandbox Code Playgroud)
显然是由于以下URL命名空间
url(r'^admin/', include(admin.site.urls)).
Run Code Online (Sandbox Code Playgroud)
我有什么要自动将128.0.0.1:8000/上的请求重定向到128.0.0.1:8000/admin?
URL命名空间
url(r'^$/', include(admin.site.urls))
Run Code Online (Sandbox Code Playgroud)
似乎不是解决方案.
Mar*_*mro 16
使用RedirectView.您可以使用硬编码URL,而不是reverse管理视图的名称.
from django.core.urlresolvers import reverse
from django.views.generic.base import RedirectView
url(r'^$', RedirectView.as_view(url=reverse('admin:index')))
Run Code Online (Sandbox Code Playgroud)
小智 11
Django 2.0及以上:
from django.contrib import admin
from django.urls import path, reverse_lazy
from django.views.generic.base import RedirectView
urlpatterns = [
path('', RedirectView.as_view(url=reverse_lazy('admin:index'))),
path('admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
你说你想要一个重定向,所以你会使用django的RedirectView
from django.views.generic.base import RedirectView
url(r'^$', RedirectView.as_view(url='/admin'))
Run Code Online (Sandbox Code Playgroud)
小智 5
您还可以使用路径代替 url,后者已被弃用并且在 Django 4 中不再可用。
from django.views.generic.base import RedirectView
urlpatterns = [
path('', RedirectView.as_view(url='/admin')),
path('admin/', admin.site.urls),
...
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11988 次 |
| 最近记录: |