【问题标题】:Django: CSS class does not show for ModelForm that extends another ModelFormDjango:扩展另一个 ModelForm 的 ModelForm 不显示 CSS 类
【发布时间】:2014-01-02 16:03:40
【问题描述】:

我需要为表单字段分配一个 CSS 类,我指的是这个 SO 帖子: CSS styling in Django forms

但是,我无法让它与扩展另一个 ModelForm 的 ModelForm 一起使用。 在下面的代码中,“title”和“base_title”字段应分别具有“title”和“base_title”类,但是,当您检查 HTML 时,它们都没有得到任何类。任何意见,将不胜感激。谢谢。

这是我的代码:

models.py:

from django.db import models

class BaseModel(models.Model):
    base_title = models.CharField(max_length=50, blank=True)


class MyModel(BaseModel):
    title = models.CharField(max_length=50, blank=True)

forms.py:

from django.forms import ModelForm, TextInput
from testproj.models import MyModel

class BaseModelForm(ModelForm):

    class Meta:
        model = MyModel
    fields = ("base_title",)
    widgets = {
        "base_title" : TextInput(attrs={"class" : "base_title"}),
    }

class MyModelForm(BaseModelForm):

    class Meta(BaseModelForm.Meta):
        model = MyModel
        fields = BaseModelForm.Meta.fields + ("title",)
        widgets = BaseModelForm.Meta.widgets.update({
            "title" : TextInput(attrs={"class" : "title"}),
        })

views.py:

from django.shortcuts import render_to_response
from django.template import RequestContext

from testproj.forms import MyModelForm

def index(request):

    form = MyModelForm()

    return render_to_response(
        "testproj/index.html",
        {
            "form": form,
        }, 
            context_instance=RequestContext(request)
    )

【问题讨论】:

    标签: css django django-forms django-widget django-models


    【解决方案1】:

    找出问题所在:更新小部件字典不正确。 MyModelForm 类应如下所示:

    class MyModelForm(BaseModelForm):
        class Meta(BaseModelForm.Meta):
            model = MyModel
            fields = BaseModelForm.Meta.fields + ("title",)
            widgets = BaseModelForm.Meta.widgets
            widgets.update({
            "title" : TextInput(attrs={"class" : "title"}),
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-05
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2021-07-06
      • 2011-04-02
      • 2013-04-09
      • 2015-04-14
      相关资源
      最近更新 更多