2013-06-19 36 views
0

URL未更改,数据在用户登录后未提取。网址未更改,仅在登录后呈现模板

的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> 

回答

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。

+0

它工作谢谢 – suhailvs