render_to_response() 后 Django 注销我
django logout me after render_to_response()
这是我的views.py
def createpost(request, id=None):
form = PostForm(request.POST or None, request.FILES or None)
if form.is_valid() and request.method == 'POST':
instance = form.save(commit=False)
instance.user = request.user
instance.save()
messages.success(request, "successfully create!")
return HttpResponseRedirect('/post')
else:
context ={
'form': form
}
return render_to_response('createPost.html', context)
我想要的 和 createPost.html 代码显示有错误的 post 页面
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
{% if request.user.is_authenticated %}\
<form method="POST" name="PostForm" action="/post/createpost/" enctype="multipart/form-data"> {% csrf_token %}
{{form|as_bootstrap_inline}}
<input type="hidden" name="user_id" value="{{ user.id }}" />
<button type="submit" class="btn btn-primary">Save AD</button>
{% else %}
<div>Please Register First!</div>
{% endif %}
</form>
{% endblock content %}
但是当错误发生时,它会重定向并注销我。我怎样才能 post 经过身份验证的用户访问我的 post 页面?
你应该使用 render instead, render_to_response does not make request available see documentation:
This function preceded the introduction of render() and works similarly except that it doesn’t make the request available in the response. It’s not recommended and is likely to be deprecated in the future.
这就是 {% if request.user.is_authenticated %}
模板验证未通过的原因。
w=11=sh
w=13=will.d - w=12=will
w=10=sh
这是我的views.py
def createpost(request, id=None):
form = PostForm(request.POST or None, request.FILES or None)
if form.is_valid() and request.method == 'POST':
instance = form.save(commit=False)
instance.user = request.user
instance.save()
messages.success(request, "successfully create!")
return HttpResponseRedirect('/post')
else:
context ={
'form': form
}
return render_to_response('createPost.html', context)
我想要的 和 createPost.html 代码显示有错误的 post 页面
{% if form.errors %}
{% for field in form %}
{% for error in field.errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
<div class="alert alert-danger">
<strong>{{ error|escape }}</strong>
</div>
{% endfor %}
{% endif %}
{% if request.user.is_authenticated %}\
<form method="POST" name="PostForm" action="/post/createpost/" enctype="multipart/form-data"> {% csrf_token %}
{{form|as_bootstrap_inline}}
<input type="hidden" name="user_id" value="{{ user.id }}" />
<button type="submit" class="btn btn-primary">Save AD</button>
{% else %}
<div>Please Register First!</div>
{% endif %}
</form>
{% endblock content %}
但是当错误发生时,它会重定向并注销我。我怎样才能 post 经过身份验证的用户访问我的 post 页面?
你应该使用 render instead, render_to_response does not make request available see documentation:
This function preceded the introduction of render() and works similarly except that it doesn’t make the request available in the response. It’s not recommended and is likely to be deprecated in the future.
这就是 {% if request.user.is_authenticated %}
模板验证未通过的原因。