网址不会更改,只需在登录后呈现模板即可

时间:2013-06-19 12:30:36

标签: python django django-registration

用户登录后,URL未更改且未提取数据。

登录后网址未更改(我预计会更改为127.0.0.1:8000/employer/home)

@login_required
def home(request):
    emp=Employer.objects.get(user=request.user)
    jb=Job.objects.filter(employer=emp).order_by("-postdate")
    return render(request,'employer/home.html',{'jobs':jb})#,{'employer':emp})

雇主/ home.html的

<table class="table table-hover table-bordered">
<tr><th>Job ID</th><th>Title</th><th>Posted on</th></tr>
{% for job in jobs %}
<tr>
<td><a href="{% url quorum.views.questions job.pk %}">{{ job.pk }}</a></td>
<td>{{ job.title }}</td>
<td>{{ job.postdate }}</td>
</tr>
{% endfor %}
</table>

的login.html

<form class="form-signin" action="" method="post">{% csrf_token %}
<h4 class="form-signin-heading">Sign in to my account...</h4>
{% if errors %}
<p class="text-error">Sorry, that's not a valid username or password</p>
{% endif %}

<input type="text" id="username" class="input-block-level" name="username" placeholder="UserID">
<input type="password" id="password" class="input-block-level" name="password" placeholder="Password">
<p style="text-align:right;"><a href="/accounts/password/reset/">Forgot</a> your password?</p>

<button class="btn btn-large btn-success" type="submit" value="login">Sign in</button>

</form>

1 个答案:

答案 0 :(得分:2)

您需要在使用next url参数登录后告诉它去哪里:

<form class="form-signin" action="{% url django.contrib.auth.views.login %}?next=employer/home/" method="post">

或在设置中设置LOGIN_REDIRECT_URL

  

contrib.auth.login视图没有下一个参数时,登录后重定向请求的URL。