django - Django中基于类的视图中的样式表单字段
问题描述
我正在使用基于类的视图在网站上创建表单。到目前为止,下面的代码正在运行。但我需要在box-message
该字段中添加一个自定义 CSS 类 (),message
以便正确设置样式。我怎样才能做到这一点?
这是我迄今为止所取得的成就。
# view.py ----
from django.views.generic.edit import CreateView
from .models import CandidateInfo
class PostForm(forms.ModelForm):
class Meta:
model = CandidateInfo
fields = ("name", "email", "message")
class ContactView(CreateView):
form_class = PostForm
model = CandidateInfo
template_name = "index_test.html"
# models.py ----
from django.db import models
from django.urls import reverse
class CandidateInfo(models.Model):
name = models.CharField(max_length=200)
email = models.CharField(max_length=200)
message = models.TextField()
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("index_text")
和模板:
<form id="contact-us" action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" name="submit" id="contact-button" value="Send" />
这是生成的 HTML:
<p><label for="id_name">Name:</label> <input type="text" name="name" maxlength="200" required="" id="id_name"></p>
<p><label for="id_email">Email:</label> <input type="text" name="email" maxlength="200" required="" id="id_email"></p>
<p><label for="id_message">Message:</label> <textarea name="message" cols="40" rows="10" required="" id="id_message"></textarea></p>
我需要的是textarea
标签有一个box-message
类。
解决方案
尝试这个:
class PostForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['message'].widget.attrs.update({'class': 'box-message'})
class Meta:
model = CandidateInfo
fields = ("name", "email", "message")
阅读有关此的更多信息: Django 表单小部件
推荐阅读
- python - 在 VS Code 上运行 Django 程序时出现问题
- javascript - 通过javascript中的相似键对数组项进行分组
- jquery - 将事件处理程序绑定到动态创建的元素的问题
- swift - 如何在命令行工具应用程序中将 Timer.publish(...) 与 RunLoop.current... 结合使用?
- javascript - C:\fakepath\ 下载文件时出现问题
- laravel - 使用 laravel 6 在 laravel 上上传的图像和图像无法在线工作
- safari - 在 safari 中使用 getUserMedia 录制音频
- javascript - Vue JS 重定向网址
- elasticsearch - 本地 Elastic Search 存储清除
- git - 在 Azure 中,有没有办法在创建/完成拉取请求时使用存储库和/或分支标记工作项/用户故事?