2010-08-12 62 views
3

是否有可能使django的(v1.2)URLField輸出爲HTML5 input標籤,其中type="url"Django URLField和HTML5?

------------- -------------解決方案

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 
+1

[Django的車票#16630](https://code.djangoproject.com/ticket/16630)正在進行中添加這個功能給Django本身。 – 2012-05-04 13:58:08

回答

3

你必須創建一個自定義部件。

class URLInput(forms.TextInput): 

    input_type = 'url' 

然後你可以這個小部件傳遞給URLField構造:

class MyForm(forms.Form): 

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

嗯,它沒有工作。我得到了'ViewDoesNotExist ...錯誤是:'模塊'對象沒有'URLField''屬性。 我將此添加到模型窗體。我需要做一些不同的事情嗎? – Roger 2010-08-12 17:40:59

+0

好的,我明白了。我會用解決方案更新我的問題。謝謝。 – Roger 2010-08-12 17:46:19