Python 如何用css编辑{{form | crispy}}}并移动表单?
我一直在使用{{form | crispy}},但现在我已经决定设计和移动内容,我正在尝试编辑我的表单。 我只是Python 如何用css编辑{{form | crispy}}}并移动表单?,python,django,Python,Django,我一直在使用{{form | crispy}},但现在我已经决定设计和移动内容,我正在尝试编辑我的表单。 我只是 {% block content %} <form id="post_form" method="post" action="/add_post/" enctype="multipart/form-data"> {% csrf_token %} {{ form|crispy }} <!--{% for tag in person.tags.all %
{% block content %}
<form id="post_form" method="post" action="/add_post/" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
<!--{% for tag in person.tags.all %}{{ tag.word }} {% endfor %}-->
<input type="submit" name="submit" value="Create Post">
</form>
{% endblock %}
在models.py中
class Post(models.Model):
category = models.ForeignKey(Category)
pub_date = models.DateTimeField(auto_now_add = True)
url = models.URLField(max_length=250, blank=True, null=True)
video = EmbedVideoField(verbose_name='My video',blank=True, null=True)
title = models.CharField(max_length = 100)
moderator = models.ForeignKey(User)
views = models.IntegerField(default=0)
slug = models.CharField(max_length=100, unique=True)
content = RichTextUploadingField(config_name='default')
rank_score = models.FloatField(default= 1)
image = models.ImageField(upload_to='images',blank=True, null=True)
简而言之,我有:类别,网址,视频链接,标题,我表格中的内容。我正试着把这些表格搬来搬去。我如何实现这个目标?先谢谢你 除了可以一起渲染整个表单外,还可以单独渲染表单的每个元素。我建议通读这部分内容。 例如,您可以执行以下操作:
{{ form.non_field_errors }}
<div class="fieldWrapper">
{{ form.subject.errors }}
<label for="{{ form.subject.id_for_label }}">Email subject:</label>
{{ form.subject }}
</div>
<div class="fieldWrapper">
{{ form.message.errors }}
<label for="{{ form.message.id_for_label }}">Your message:</label>
{{ form.message }}
</div>
def __init__(self, *args, **kwargs):
super(PostForm, self).__init__(*args, **kwargs)
for field_name in self.fields:
field = self.fields[field_name]
field.widget.attrs.update({'class': 'form-control'})
这会将引导类表单控件分配给表单中的每个字段。当然,您也可以使用以下方法设置单个字段的样式:
self.fields['title'].widget.attrs.update({'placeholder': 'This is a title'})
对于造型部分,可能有更好的解决方案。尤其是对于较大的表单,这可能会变得有点笨重。但是对于我现在正在处理的较小的表单,它工作得很好。除了可以一起渲染整个表单之外,还可以单独渲染表单的每个元素。我建议通读这部分内容。
例如,您可以执行以下操作:
{{ form.non_field_errors }}
<div class="fieldWrapper">
{{ form.subject.errors }}
<label for="{{ form.subject.id_for_label }}">Email subject:</label>
{{ form.subject }}
</div>
<div class="fieldWrapper">
{{ form.message.errors }}
<label for="{{ form.message.id_for_label }}">Your message:</label>
{{ form.message }}
</div>
def __init__(self, *args, **kwargs):
super(PostForm, self).__init__(*args, **kwargs)
for field_name in self.fields:
field = self.fields[field_name]
field.widget.attrs.update({'class': 'form-control'})
这会将引导类表单控件分配给表单中的每个字段。当然,您也可以使用以下方法设置单个字段的样式:
self.fields['title'].widget.attrs.update({'placeholder': 'This is a title'})
对于造型部分,可能有更好的解决方案。尤其是对于较大的表单,这可能会变得有点笨重。但是对于我现在处理的较小的表单,它工作得很好