python - 是否可以在通用创建视图表单中添加占位符?
问题描述
这是我的 models.py 文件
class Report_item(models.Model):
owner = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length=255)
item_type = models.CharField(default="", max_length=100)
location = models.CharField(max_length=60)
city = models.CharField(max_length=60)
date = models.DateTimeField(default=timezone.now)
Description = models.TextField(blank=True,null=True)
publish = models.BooleanField(default=False)
image = models.ImageField(default="add Item image")
def __str__(self):
return self.title + " " + str(self.publish)
def get_absolute_url(self):
return reverse('feed:detail', kwargs={'pk': self.pk})
class Meta:
ordering = ["-date"]
我在我的模板中添加了通用的从模型创建视图。views.py 文件如下:
class ReportCreate(generic.CreateView):
model = Report_item
fields = ['title', 'item_type', 'location', 'city', 'image', 'Description']
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.owner = self.request.user
self.object.save()
return FormMixin.form_valid(self, form)
我想在我的表单中添加一个占位符。是否可以在通用创建视图表单中添加占位符?请为一个字段添加一个占位符,我会做的。
解决方案
对于通用视图,您可以这样做:
class ReportCreate(generic.CreateView):
model = Report_item
fields = ['title', 'item_type', 'location', 'city', 'image', 'Description']
def get_form(self, form_class=None):
if form_class is None:
form_class = self.get_form_class()
form = super(ReportCreate, self).get_form(form_class)
form.fields['field_to_add_placeholder'].widget = forms.TextInput(attrs={'placeholder': 'Your placeholder'})
return form
# rest of the class...
对于ModelForm
,请参阅文档的这一部分。您可以通过添加占位符属性来覆盖默认字段,在这种情况下是小部件:
class AuthorForm(ModelForm):
class Meta:
model = Author
fields = ('name', 'title', 'birth_date')
widgets = {
'name': Textarea(attrs={'placeholder': 'Enter your name here'}),
}
推荐阅读
- android - 查看寻呼机碎片删除
- javascript - ng-repeat中的AngularJS动态选择
- vb.net - 如何在从 app.config 检索的 FolderBrowser 中设置默认路径?
- azure - CosmosDB 中的分区键与文档 ID
- node.js - 如何在 AWS EC2 上部署 Node.js Express 服务器 + Vue.js 应用程序
- java - 如何获取合并报表的总页数
- vba - 如何使用查询结果填充 ComboBox
- android - 任务':app:processDebugManifest'的执行失败 - React Native
- vb.net - 可以获得文件夹的最后修改日期吗?
- sql - 如何判断 SQL Server 的情况?