【发布时间】:2020-02-29 12:49:56
【问题描述】:
这是我第一个使用 Django 的项目。 我正在创建一个表单,如下面的屏幕截图所示,表单太窄了。我希望输入字段能够跨越整个屏幕,当表单那么窄时这是不可能的。如何增加表单的宽度?
from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, Layout, Row, Field
from ..models import EvilSnippet
class AddSnippet(forms.Form):
class Meta:
model = EvilSnippet
code_language = forms.ChoiceField(
label = "Select Language",
choices = (("Java", "Java"), ("Python", "Python"), ("C#", "C#")),
required = True,
)
severity = forms.ChoiceField(
label = "Severity",
choices = (("HIGH", "HIGH"), ("MEDIUM", "MEDIUM"), ("LOW", "LOW")),
required = True,
)
description = forms.CharField(
label = "Description",
required = False,
#widget=forms.TextInput(attrs={'size': '20'})
)
code = forms.CharField(
label = "Code",
required = False,
widget=forms.Textarea()
)
def __init__(self, *args, **kwargs):
super(AddSnippet, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_id = 'id-addSnippet'
self.helper.form_class = 'uniForms'
self.helper.form_method = 'post'
self.helper.form_action = 'submit_snippet'
self.helper.layout = Layout(
Row(
Field('code_language', wrapper_class='col-md-6'),
),
Row(
Field('severity', wrapper_class='col-md-6'),
),
Row(
Field('description', wrapper_class='col-md-6'),
),
Row(
Field('code', wrapper_class='col-md-6'),
)
)
self.helper.add_input(Submit('submit', 'Submit'))
和
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<!-- <form action = '' method="post"> -->
<!-- Very Important csrf Token -->
{% csrf_token %}
<!-- <table> -->
{% crispy form %}
<!-- </table> -->
<!-- </form> -->
{% endblock %}
【问题讨论】:
-
为此,您需要一些 CSS 样式。查看宽度属性。类似
form#id-addSnippet { width: 100%;} -
就是这样 - 非常感谢 :)
-
我很高兴它对你有用!我发布了我的评论作为答案,请随时将其标记为已接受。您也可以考虑在您的问题中添加
css标签。
标签: python django django-crispy-forms