如何并排放置 django 表单字段

Posted

技术标签:

【中文标题】如何并排放置 django 表单字段【英文标题】:How to place django form fields side by side 【发布时间】:2021-04-22 13:37:15 【问题描述】:

我有一个 UserCreationForm 我希望 first_name 和 last_name 并排,当我尝试整个字段并排时,我希望其他字段有自己的行。 form.html

% csrf_token %
% for field in form %
<p>
    % if field.help_text %
    <small style="color: grey"> field.help_text </small>
    % endif %
     field.label_tag 
     field 
    % for error in field.errors %
    <p style="color: red"> error </p>
    % endfor %
</p>
% endfor % 

forms.py:

class AccountCreationForm(UserCreationForm):
    class Meta:
        model = Account
        fields = ('first_name','last_name', 'email')

【问题讨论】:

这能回答你的问题吗? Display Django form fields on the "same line" 我在facebook注册页面上需要它,你能添加代码吗? @GaëtanGR 我只需要两个字段并排而不是全部。 【参考方案1】:

由于您使用&lt;p&gt; 标记围绕每个字段,因此它们都进入单独的行。您可以单独渲染字段以根据需要设置它们的样式。另请查看 this article 以获取一些示例。

我为您的具体情况写了一个快速的 sn-p。请注意,我单独呈现字段并将两个名称字段都放在同一个&lt;p&gt;(段落)标记中。

    <p>
        % if form.first_name.help_text %
        <small style="color: grey"> form.first_name.help_text </small>
        % endif %
         form.first_name.label_tag 
         form.first_name 
        % for error in form.first_name.errors %
        <span style="color: red"> error </span>
        % endfor %
        % if form.last_name.help_text %
        <small style="color: grey"> form.last_name.help_text </small>
        % endif %
         form.last_name.label_tag 
         form.last_name 
        % for error in form.last_name.errors %
        <span style="color: red"> error </span>
        % endfor %
    </p>
    <p>
        % if form.email.help_text %
            <small style="color: grey"> form.email.help_text </small>
            % endif %
             form.email.label_tag 
             form.email 
            % for error in form.email.errors %
            <span style="color: red"> error </span>
            % endfor %
    </p>

【讨论】:

UserCreationForm 中还有另外两个密码字段,我该如何添加它们? 它不会并排堆叠它们 该代码中还有一些 p 标签,现在试试。

以上是关于如何并排放置 django 表单字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 模型表单中添加自定义字段?

仅从模板中的 django 表单中获取一个字段

Django 表单字段标签中的换行符

如果空值传递给Django中的表单字段,如何验证表单?

Django - 如何排除表单字段视图?

如何使 Django 表单字段唯一?