Python 向Django中呈现的模板添加验证错误消息(通过views.py)
我已经编写了一个验证,检查以确保在用户可以转到另一个视图之前上载了一定数量的图像。我知道验证是有效的,因为如果他们没有足够的图片,我已经成功地将他们重定向回上传页面,如果他们有足够的图片,我会将他们重定向回预览页面 代码 我现在遇到的问题是错误通知。我想让他们知道,他们需要添加更多的图像,以便向前迈进。有没有办法通过views.py在模板顶部打印通知?(我知道在表单或模型中使用验证更为标准,但这是一个特例。) 我尝试了以下操作,但得到一个错误页面,无法返回图像上载页面:Python 向Django中呈现的模板添加验证错误消息(通过views.py),python,django,validation,Python,Django,Validation,我已经编写了一个验证,检查以确保在用户可以转到另一个视图之前上载了一定数量的图像。我知道验证是有效的,因为如果他们没有足够的图片,我已经成功地将他们重定向回上传页面,如果他们有足够的图片,我会将他们重定向回预览页面 代码 我现在遇到的问题是错误通知。我想让他们知道,他们需要添加更多的图像,以便向前迈进。有没有办法通过views.py在模板顶部打印通知?(我知道在表单或模型中使用验证更为标准,但这是一个特例。) 我尝试了以下操作,但得到一个错误页面,无法返回图像上载页面: else:
else:
raise ValidationError("Please make sure you have uploaded 4 images!")
我还尝试了以下操作,但在模板页面上没有看到任何打印内容:
else:
msg = "Please make sure you have uploaded 4 images!"
我已经通读了:,但解决方案对我不起作用
有什么想法吗?我对编程和Django非常陌生,所以我希望这只是我的一个小疏忽,是一个相对容易的修复 您可以在if作用域后面的模板中添加错误消息 在你看来:
@login_required
def preview_website(request, slug):
student = Student.objects.get(slug=slug)
if student.studentimage_set.filter(image_type="portrait").exists() and
student.studentimage_set.filter(image_type="interest1").exists() and
student.studentimage_set.filter(image_type="interest2").exists() and
student.studentimage_set.filter(image_type="interest3").exists():
return render(request, 'students/preview_website.html', {
'student': student})
else:
error_message = "Please make sure you have uploaded 4 images!"
return render(request, 'students/preview_website.html', {
'student': student, 'error_message': error_message})
将此添加到模板的顶部
{% if error_message %}
<p>{{ error_message }}</p>
{% endif %}
{%if错误\消息%}
{{error_message}}
{%endif%}
您可以通过
length(request.FILES)
在视图中,如果长度小于所需长度,则可以返回上载html
return render_to_response('upload.html',{'error':error},context_instance=RequestContext(request))
在html页面中,使用以下样式可以显示错误
{% if error %}
{{ error }}
{% endif%}
出于某种原因,我对它的记忆有所不同,但我只是验证了仅使用
if
可以按预期工作。谢谢!我没有足够的声誉来提升这一点,但这正是我想要做的。是否有任何文档可以让我在下次阅读时更好地理解?
{% if error %}
{{ error }}
{% endif%}