django - 如何验证 URLField 是否来自 Django 中的所需域?

标签 django forms

我的申请表中有一个 URLField,我想检查给定的 URL 是否来自 www.domain.com。

现在我正在该领域的清洁方法中使用这个解决方案,但我认为这不是最好的...

    def clean_link(self):
    link = self.cleaned_data['link']
    if 'domain.com' not in link:
        raise forms.ValidationError('You only can add a domain.com URL.')

    return link

例如,如果我输入 http://www.thisismydomain.com会是正确的。还有其他解决方案吗?

非常感谢。

最佳答案

您可能想看看 urlparse模块,以避免像

这样的遗漏
>>> 'good_domain.com' in 'http://evildomain.com/mylink#good_domain.com'
True

关于django - 如何验证 URLField 是否来自 Django 中的所需域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13672695/

相关文章:

django - 使用内联时如何验证 django-admin 中两个模型的数据?

python - django 表单不显示或对象不带参数错误

php - IF 语句 : What's more efficient? 许多小的,还是几个大的?

python - 在基于类的 View 中返回 template_name + args

Django 聚合 - 零值除法

python - 为什么我的 django 代码片段不起作用?

django - 为什么 Django 模型需要这么长时间才能加载到 admin 中?

javascript - 为什么我的表单脚本只适用于第二次提交

javascript - 使用 Enter 键提交 JQuery 表单

javascript - 更改输入字段颜色(如果已填充)