Django URLField 和 HTML5?

Posted

技术标签:

【中文标题】Django URLField 和 HTML5?【英文标题】:Django URLField and HTML5? 【发布时间】:2011-03-29 01:01:40 【问题描述】:

是否可以让 django 的 (v1.2) URLField 输出 html5 input 标签,其中 type="url"

------------- 解决方案 -------------

from django.forms import ModelForm
from django.forms import widgets
from django.forms import fields
from models import MyObj

class URLInput(widgets.Input):
    input_type = 'url'

class MyObjForm(ModelForm):
    url = fields.URLField(widget=URLInput())

    class Meta:
        model = MyObj

【问题讨论】:

Django ticket #16630 正在将此功能添加到 Django 本身。 【参考方案1】:

您必须为此创建一个自定义小部件。

class URLInput(forms.TextInput):

    input_type = 'url'

然后您可以将此小部件传递给 URLField 构造函数:

class MyForm(forms.Form):

    url = forms.URLField(widget=URLInput())

【讨论】:

嗯,没用。我得到了ViewDoesNotExist ... Error was: 'module' object has no attribute 'URLField'。我将其添加到模型表单中。我需要做一些不同的事情吗? 好的,我知道了。我会用解决方案更新我的问题。谢谢。

以上是关于Django URLField 和 HTML5?的主要内容,如果未能解决你的问题,请参考以下文章

如何验证 django URLfield 是不是来自特定域或主机名?

使用 URLField 优于 TextField 的优势?

Django在线用户

django上课笔记4

在Django中对多个表进行筛选和排序

如何避免在 django 中选择 n+1?