我想从主页的项目网址重定向到我的应用程序 URL,这是r'^$'
.我点击了这个链接。但这并没有帮助。这是我项目的urls.py
:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', redirect('home')),
url(r'^link/', include('link_app.urls')),
)
这是我的应用链接urls.py
:
urlpatterns=patterns('',
url(r'^$', LinkListView.as_view(), name='home'),
)
所以基本上我的目标是 http://127.0.0.1:8000/
和http://127.0.0.1:8000/link/
由同一视图处理。
我收到以下错误:
ImproperlyConfigured at /
The included urlconf link_project.urls doesn't have any patterns in it
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.6
Exception Type: ImproperlyConfigured
Exception Value:
The included urlconf link_project.urls doesn't have any patterns in it
更改项目 urls.py 文件以修改
from django.core.urlresolvers import reverse_lazy
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^/$',RedirectView.as_view(url=reverse_lazy('home'))),
url(r'^link/$', LinkedListView.as_view(), name='home'),
该解决方案假定您的链接应用只有一个 URL,对于应用中的多个网址,请尝试向 URL(r'^link/$') 添加名称属性
您在链接到的页面上选择了错误的答案。您不能在网址模式中使用redirect
快捷方式,因为它不是视图。使用RedirectView
是正确的方法。
如果要处理 url 的视图是 link_app
中的视图,请执行以下操作:
项目 urls.py:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('link_app.urls')),
)
您的link_app
urls.py:
urlpatterns=patterns('',
url(r'/$', LinkListView.as_view(), name='home'),
url(r'link/$', LinkListView.as_view(), name='home_link'),
)
让我知道这是否适合您
带有正则表达式r'^'
的管理员 url 之后立即包含您的link_app.urls
。
然后在link_app.urls
中使用以下模式来调用同一视图:
urlpatterns=patterns('',
url(r'^$', LinkListView.as_view(), name='home'),
url(r'^link/$', LinkListView.as_view(), name='link'),
)