我在我的Django項目中有一個名爲users的應用程序。登錄到用戶/ login.html的,我希望它去的URL /home.htmlDjango重定向到查看不在同一個應用程序
我的模板結構是:
--> users
|
.....-->login.html
--> base.html
--> home.html
出於某種原因,它無法找到home.html做爲雖然。這裏是我的views.py和urls.py在用戶應用程序:
views.py
urls.py
我在我的Django項目中有一個名爲users的應用程序。登錄到用戶/ login.html的,我希望它去的URL /home.htmlDjango重定向到查看不在同一個應用程序
我的模板結構是:
--> users
|
.....-->login.html
--> base.html
--> home.html
出於某種原因,它無法找到home.html做爲雖然。這裏是我的views.py和urls.py在用戶應用程序:
views.py
urls.py
你需要改變你的主視圖像這樣,
@login_required
def home(request):
return render(request, 'home.html', {})
此外,在您的login_view,
def login_view(request):
if request.method=="POST":
form = LoginForm(request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = from.cleaned_data.get('password')
user = authenticate(username=username, password=password)
if user:
login(request, user)
return redirect('users:home')
else:
form = LoginForm()
context = dict(form=form)
return render(request, 'users/login.html', context)
編輯
或者你可以只導入視圖進入project_level urls.py
這樣, 從users.views導入家裏
urlpatterns = [
url(r'^admin/', admin.site.urls),
#leave it blank...
url(r'^/', include('users.urls', namespace='users')),
url(r'^home/', home, name='home'),
]
不要忘了從users.urls.py文件中刪除URL。 然後,您的主頁將「/家」而非「用戶的/ home /」 ..
請不要鏈接到的圖像。在這裏顯示代碼*,作爲*文本*。 –
無論如何,你沒有「/home.html」的URL,你有一個「/ home /」的URL。 –
'return HttpResponseRedirect('/')'並且在urlpatterns中,你應該在下一個url後面加上第一個url規則('url(r'^ $'...'')('url(r'^ login/$')。 ..)') – doru