Django重定向到查看不在同一个应用程序

时间:2017-05-23 17:19:10

标签: python html django url views

我的Django项目中有一个名为users的应用程序。登录到users / login.html后,我希望它转到URL /home.html

我的模板结构是:

--> users

|  
.....-->login.html

--> base.html

--> home.html

由于某种原因,它找不到home.html。以下是用户应用中的views.py和urls.py:

views.py

views.py

urls.py

urls.py

1 个答案:

答案 0 :(得分:1)

你需要像这样改变你的家庭观点,

catch

另外,在您的login_view中,

@login_required
def home(request):
    return render(request, 'home.html', {})

修改

或者您可以将视图导入project_level urls.py

像这样,     来自users.views import home

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)

请勿忘记从users.urls.py文件中删除该网址。 然后,您的主页将" / home" 而不是" users / home /" ..