我想从主页r'^$'
的项目网址重定向到我的应用网址。
我跟着这个link。但它没有帮助。
这是我项目的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'),
)
所以基本上我的目标是
<{1}}和http://127.0.0.1:8000/
由同一视图处理。
我收到以下错误:
http://127.0.0.1:8000/link/
答案 0 :(得分:1)
更改项目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'),
该解决方案假设您的链接应用只有一个网址, 对于您应用中的多个网址,请尝试将名称属性添加到网址(r'^ link / $')
答案 1 :(得分:0)
如果要处理网址的视图是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'),
)
请告诉我这是否适合您
答案 2 :(得分:0)
只需在管理网址后面加上link_app.urls
,并使用正则表达式r'^'
。
然后在link_app.urls
中使用以下模式来调用相同的视图:
urlpatterns=patterns('',
url(r'^$', LinkListView.as_view(), name='home'),
url(r'^link/$', LinkListView.as_view(), name='link'),
)
答案 3 :(得分:0)
您在page you linked to上选择了错误的答案。您无法在网址格式中使用redirect
快捷方式,因为它不是视图。使用RedirectView
是正确的方法。