Как создать такую ​​таблицу с флажком в Django? - PullRequest
0 голосов
/ 03 февраля 2019

Я хочу иметь таблицу с флажком в каждой строке с Django, как показано на рисунке.Мои Django view.py, models.py и HTML-файл упомянуты ниже.Как это можно сделать?Есть ли встроенная функция в Django или как?

Таблица с флажком

У меня есть файл модели в виде:

class AppsDescription(db.Model):
    aws_response = aws_list_conf_api_call()

    CHOICES = [("yes", "YES"),
           ("no", "NO")]
    OPTIONS = list()

    for apps in aws_response:
        OPTIONS.append(('{name1}'.format(name1=apps.lower()), '{name2}'.format(name2=apps)), )

    name = db.CharField(max_length=256)
    description = db.TextField()
    plan_to_migrate = db.CharField(choices=CHOICES, max_length=256)
    # app_names = MultiSelectField(choices=OPTIONS)

    def __str__(self):
        return self.name

Myviews.py as

def createapp(request):
    # import ipdb; ipdb.set_trace()
    form = DashboardForm()

    if request.method == "POST":
        form = DashboardForm(request.POST)
        list_of_inputs = request.POST.getlist("inputs")

        if form.is_valid:
            form.save(commit=True)
            return HttpResponseRedirect(reverse("aws:createapp"))

    server = aws_server_list_conf()

    return render(request, "createapp.html", {'server':server, 'form': form})

Мой html-файл как

<form method="POST">
      {{form.as_p}}

      <table>
        <tr>
          <th>Select</th>
          <th>Agent ID</th>
          <th>Configuration ID</th>
          <th>Host Name</th>
          <th>OS Name</th>
          <th>OS Version</th>
          <th>Source</th>
          <th>Time of Creation</th>
          <th>Type</th>
        </tr>

        {% for apps in server %}
        <tr>


          <td><input type="checkbox" name="" value=""></td>

          {% for k,v in apps.items %}

          <td>{{ v }}</td>

          {% endfor %}

        </tr>
        {% endfor %}

      </table>




      {% csrf_token %}
      <input type="submit" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal" name="" value="submit">
      <div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog">
            <div class="alert alert-success alert-dismissible">
                <a  class="close" data-dismiss="modal" aria-label="close">&times;</a>
                <strong>Success!</strong> App information stored Successfully.
              </div>
        </div>
      </div>

      </form>

Я хочу иметь таблицу с флажками в каждой строке с django, как показано на рисунке.

1 Ответ

0 голосов
/ 03 февраля 2019

Ваш HTML-файл должен выглядеть следующим образом:

<form method="POST">
      {{form.as_p}}

      <table>
        <tr>
          <th>Select</th>
          <th>Agent ID</th>
          <th>Configuration ID</th>
          <th>Host Name</th>
          <th>OS Name</th>
          <th>OS Version</th>
          <th>Source</th>
          <th>Time of Creation</th>
          <th>Type</th>
        </tr>

        {% for apps in server %}
        <tr>




          {% for k,v in apps.items %}
          <td><input type="checkbox" name="selected_options" value="v.id"></td>
          <td>{{ v }}</td>

          {% endfor %}

        </tr>
        {% endfor %}

      </table>




      {% csrf_token %}
      <input type="submit" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal" name="" value="submit">
      <div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog">
            <div class="alert alert-success alert-dismissible">
                <a  class="close" data-dismiss="modal" aria-label="close">&times;</a>
                <strong>Success!</strong> App information stored Successfully.
              </div>
        </div>
      </div>

      </form>


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...