这是模板(comment.html)中存在的一种简单形式。
<form id="my_form" action="{% url 'a' pk=id %}" method="POST">
{% csrf_token %}
<input id="in" required minlength="5" name="message" type="text"><br>
<button id="click" title="add your comment" type="submit">Comment</button>
</form>
您可以看到表单中有一个输入标签,其名称为“ message”。我的问题是,当用户在计算机上获得此页面作为响应时,他们只能在浏览器中看到此表单代码。假设用户更改了输入标签的name属性的值并提交了表单,那么我没有得到'message'的值。
您能告诉我如何在服务器端编写视图以验证表单吗?这样我的网站才能免受恶意用户和黑客的侵害吗?
假设用户更改了输入标签的名称属性的值,例如:
<input id="in" required minlength="5" name="message" type="text"><br>
至:
<input id="in" minlength="500" name="hacked_message" type="text"><br>
是,您不会获得该特定用户的消息的值,如果某人的消息是恶意的,为什么还要他的消息?
但是您将获得不使用其代码的其他用户的消息价值。
您可以使用django表单。在这里,您可以找到有关该文档的链接:Django Forms
为什么使用Django表单?
因为您可以在视图中使用如下方法:
form.is_valid()
此处的简单示例:form validation
并且在这里,您具有有关is_valid()方法的更多信息:is_valid() doc