首页 > 解决方案 > 如何使 Django Crispy Forms Inline Radios 水平显示?

问题描述

我正在尝试以清晰的形式使用 bootstrap4 模板生成单选按钮,以便在页面上水平显示。无论我尝试过哪种方式,它都不会从下面的显示中改变。

表格.py

class ReviewForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(ReviewForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.layout = Layout(
            InlineRadios('like'),
        )
    
    CHOICES=[('select1','select 1'),
         ('select2','select 2')]

    like = ChoiceField(choices=CHOICES, widget=widgets.RadioSelect)

review_form.html

{% extends 'includes/base.html' %}
{% block body %}
{% load crispy_forms_tags %}
  {% include 'induction.html' %}
  <div class="container-xl mt-5">
  
  
  {% crispy review %}

</div>

{% endblock %}

这是生成的html

<div id="div_id_like" class="form-group"> 
    <label for="id_like_0" class=" requiredField">
                Like<span class="asteriskField">*</span> 
    </label> 
<div> 
<div class="custom-control custom-radio custom-control-inline"> 
<input type="radio" class="custom-control-input" name="like" value="select1" id="id_like_0" required=""> 
<label class="custom-control-label" for="id_like_0">
            select 1
        </label> 
</div> 
<div class="custom-control custom-radio custom-control-inline"> 
<input type="radio" class="custom-control-input" name="like" value="select2" id="id_like_1" required=""> 
<label class="custom-control-label" for="id_like_1">
            select 2
        </label> </div> </div> </div>

这是显示的内容:

这是显示的内容

标签: djangodjango-formsdjango-crispy-formsdjango-bootstrap4

解决方案


推荐阅读