在Django中的新URL下呈现页面?

时间:2018-05-07 03:36:22

标签: python django python-3.x

我正在尝试在索引网址下呈现一个新的HTML页面。 例如,使用(' /')url渲染wb.html。有没有办法做到这一点?

或者另一种方法是在用户登录时将html添加到.html文件中,它们来自登录页面。这就是我所拥有的(没有工作)

def login_view(request):
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
        #login
        user = form.get_user()
        login(request, user)
        return HttpResponseRedirect('/')
        return render(request, 'posts/wb.html', 'form':form) #Of course this doesn't render
else:
    form = AuthenticationForm()
context = {
    'form' : form
}
return render(request, 'posts/login.html', context)

1 个答案:

答案 0 :(得分:0)

我希望您在.html页面上呈现/。现在让我们创建两个名为(我猜)public-home.htmlprivate-home.html的文件。

然后,我希望你有/的观点,如下,

def index(request):
    _context = {
        'authenticated': request.user.is_authenticated
    }
    return render(request, 'index.html', _context)

现在查看index.html

<div>
    {% if authenticated %}
       {% include "private-home.html" %}
    {% else %}
       {% include "public-home.html" %}
    {% endif %}

</div>