【问题标题】:Adding a css class for a Django ModelForm为 Django ModelForm 添加一个 CSS 类
【发布时间】:2020-09-18 21:41:26
【问题描述】:

我在 django 中有以下基于模型(MiniUrl)的表单:

from django import forms
from .models import MiniUrl


class AddUrl(forms.ModelForm):
    
    class Meta:
        model = MiniUrl
        fields = ['long_url', 'pseudo']
        widgets = {
            'long_url': URLInput(attrs={'class': 'user-input'}), 
            'pseudo': TextInput(attrs={'class': 'user-input'}),
        }

我想在 long_url pseudo 字段中添加一个 css 类。 当我在本地服务器上运行应用程序时,出现以下错误:

 long_url': URLInput(attrs={'class': 'user-input'}),                                                                                                                                                           
 NameError: name 'URLInput' is not defined 

请问我该如何解决? 谢谢。

【问题讨论】:

    标签: python-3.x django django-models django-forms


    【解决方案1】:

    URLInput 位于 django.forms。所以当你导入 from django import forms 你应该使用的形式

    widgets = {
        'long_url': forms.URLInput(attrs={'class': 'user-input'}), 
        'pseudo': forms.TextInput(attrs={'class': 'user-input'}),
    }
    

    如果你想写

    widgets = {
        'long_url': URLInput(attrs={'class': 'user-input'}), 
        'pseudo': TextInput(attrs={'class': 'user-input'}),
    }
    

    那么你需要直接导入URLInputTextInputfrom django.forms import URLInput, TextInput

    【讨论】:

      猜你喜欢
      • 2014-01-02
      • 1970-01-01
      • 2011-01-05
      • 2015-06-25
      • 2011-04-02
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多