如何使用Django进行表单验证?

问题描述 投票:0回答:2

这是模板(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'的值。

您能告诉我如何在服务器端编写视图以验证表单吗?这样我的网站才能免受恶意用户和黑客的侵害吗?

python django forms security
2个回答
0
投票

假设用户更改了输入标签的名称属性的值,例如:

    <input id="in" required minlength="5" name="message" type="text"><br>

至:

    <input id="in" minlength="500" name="hacked_message" type="text"><br>

是,您不会获得该特定用户的消息的值,如果某人的消息是恶意的,为什么还要他的消息?

但是您将获得不使用其代码的其他用户的消息价值。


0
投票

您可以使用django表单。在这里,您可以找到有关该文档的链接:Django Forms

为什么使用Django表单?

因为您可以在视图中使用如下方法:

form.is_valid()

此处的简单示例:form validation

并且在这里,您具有有关is_valid()方法的更多信息:is_valid() doc

© www.soinside.com 2019 - 2024. All rights reserved.