django - 如何清理 url 传递的变量数据?

标签 django django-forms django-views django-urls

当我使用表单时,我使用 Django 表单清理字段数据,但是如何清理通过 URL 传递的变量数据?

例如,我有一个像这样的URL:http://mywebsite.com/tags/my-tag/,其中my-tag是我的变量我传递给我的views.py 上的函数。

我尝试使用 Django 表单来清理数据,但收到错误消息“'TagForm' 对象没有属性 'cleaned_data'”。 我知道 my-form 变量正在到达views.py中的tags函数,因为我能够在模板上显示其内容,所以问题可能出在方式上我正在使用表格。

views.py

def tags(request, my-tag):
    tagform = TagForm(request.GET)
    cleaned_dt = tagform.cleaned_data
    form_tag = cleaned_dt['tag']

forms.py

class TagForm(forms.Form):
    tag = forms.CharField()

有什么想法吗?

最佳答案

在表单上调用 is_valid 方法后,cleaned_data 字典属性就会出现。

def tags(request, my-tag):
    tagform = TagForm(request.GET)
    if tagform.is_valid():
        cleaned_dt = tagform.cleaned_data
        form_tag = cleaned_dt['tag']
    return render(request, "may_template.html", {"form":tagform})

关于django - 如何清理 url 传递的变量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558551/

相关文章:

django - 模型层的数据验证?

django - 如何在基于Django类的 View 中获取表单的提交值?

python - Geodjango:如何加载 .shp 文件并使用正确的 CRS 转换为 geojson?

python - 对特定用户进行用户身份验证

python - Django:我的模板未加载/未被调用

python - Django : How to import a data from csv to database without using form?

Django 通过 URL 传递 kwargs

javascript - 如何使用 Ajax 更新通过上下文传递的 Django 变量

python - Django 模型,其中字段基于另一个字段,除非另有说明

python - 如何覆盖 django 文件?