Python django重定向到应用程序外部的视图
我有一个django项目,有两个应用程序,Python django重定向到应用程序外部的视图,python,django,redirect,Python,Django,Redirect,我有一个django项目,有两个应用程序,users用于登录/注销,而timeline用于主要功能。我需要重定向从用户登录的用户。登录到时间线。仪表板视图。但它不起作用,我只看到404 正如我在浏览器中看到的,Django想要打开http://localhost:8000/users/login/timeline.dashboard而不是http://localhost:8000/timeline/dashboard/ 那我该怎么办 如果需要,这是我的代码: 项目的URL.py urlpatte
users
用于登录/注销,而timeline
用于主要功能。我需要重定向从用户登录的用户。登录
到时间线。仪表板
视图。但它不起作用,我只看到404
正如我在浏览器中看到的,Django想要打开http://localhost:8000/users/login/timeline.dashboard
而不是http://localhost:8000/timeline/dashboard/
那我该怎么办
如果需要,这是我的代码:
项目的URL.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^timeline/', include('timeline.urls')),
url(r'^users/', include('users.urls')),
)
urlpatterns = patterns(
'timeline.views',
url(r'^$', views.index, name='index'),
url(r'^dashboard/$', views.dashboard, name='dashboard'),
)
时间线/url.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^timeline/', include('timeline.urls')),
url(r'^users/', include('users.urls')),
)
urlpatterns = patterns(
'timeline.views',
url(r'^$', views.index, name='index'),
url(r'^dashboard/$', views.dashboard, name='dashboard'),
)
用户/视图。py:
def log_in(request):
if request.method=='GET':
return render(request,
'login.html')
if request.method=='POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
login(request,user)
return redirect('timeline.dashboard')
else:
return redirect('log_in')
app\u name.view\u name
语法重定向参数是我自己发明的,显然是错误的,但我在官方文档中看不到任何有用的东西
谢谢 您是否在独立模式下运行django?最佳实践是使用WSGI将django部署到apache中,并在httpd.conf中设置WSGI,将请求路由到具体的应用程序,以便跨应用程序工作。 以下是尝试的三件事
redirect
使用了第三种解释输入的方法:原样,作为相对URL
您可能打算匹配2。视图名称
,在本例中仅为仪表板
这种混淆源于这个函数尝试了多种URL查找方法并隐藏了错误(并在某种程度上混淆了文档)
有关#2的直接文档,请参阅reverse
的文档
哇,真管用,谢谢!我甚至没想过做这么简单的事。