【发布时间】:2016-11-04 15:32:13
【问题描述】:
在 Django 中,我们使用 modelForms 将数据保存到 DB。
模型类:
# myapp/models.py
from django.db import models
class MyModel(models.Model):
title = models.CharField(max_length=100)
模型形式:
# myapp/forms.py
from django import forms
from .models import MyModel
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
现在,如果我想使用此 ModelForm 或 Model 类将数据从 html 模板中的表单保存到 DB,那么我必须在 html 中使用与模型类中给出的相同的输入字段的名称/ID。
<tr><th><label for="id_title">Title:</label></th>
<td><input id="id_title" name="title" maxlength="100" type="text" /></td></tr>
这不会带来安全风险吗? DB中的列名称与html中的输入字段相同吗?
任何人都可以看到输入字段的名称。这与 DB 中的列名相同。我认为没有人应该知道列、表或数据库名称。
【问题讨论】:
-
我不确定您为什么认为这是一个安全风险。你能进一步解释一下吗?
-
@DanielRoseman 任何人都可以看到输入字段的名称。这与 DB 中的列名相同。我认为没有人应该知道列、表或数据库名称。
标签: python html django django-forms