Как динамически создавать текстовые поля на основе номера ввода пользователя в django? - PullRequest
1 голос
/ 20 июня 2020

Я разрабатываю приложение Todo, в котором я хочу добавить новое поле, которое принимает ввод как число, и когда пользователь вводит, скажем 3, приложение должно возвращать 3 пустых текстовых поля, и если пользователь изменит число, чтобы сказать 4 , тогда он должен обновить sh до 4 текстовых полей. Итак, как мне сделать это в django с использованием представлений, моделей и html.

Это мои файлы:

  1. views.py
from django.shortcuts import render
from django.http import HttpResponseRedirect
from .models import TodoItem


def todoview(request):
    all_todo_items = TodoItem.objects.all()
    return render(request, 'todo.html',
                  {'all_items': all_todo_items})


def addTodo(request):
    new_item = TodoItem(content=request.POST['content'])
    new_item.save()
    return HttpResponseRedirect('/todo/')


def deleteTodo(request, todo_id):
    item_to_delete = TodoItem.objects.get(id=todo_id)
    item_to_delete.delete()
    return HttpResponseRedirect('/todo/')
models.py
from django.db import models

class TodoItem(models.Model):
    content = models.TextField()
todo. html
<div class="p-3 mb-2 bg-warning text-dark">This is the Todo Page</div>
<div class="p-3 mb-2 bg-info text-white">HelloPulkit!!!</div>

<ol>
    {% for todo_item in all_items %}
    <li>{{todo_item.content}}
        <form action="/deleteTodo/{{todo_item.id}}/"
              style="display: inline;"
              method="post">{% csrf_token %}
            <input class="btn btn-secondary btn-sm" type="submit" value="delete"/>
        </form>
    </li>
    {% endfor %}
</ol>

<form action="/addTodo/" method="post">{% csrf_token %}
    <input type="text" name="content"/>
    <input class="btn btn-primary btn-sm" type="submit" value="add"/>
</form>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
      integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">


<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
        integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
        crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
        integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
        crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
        integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
        crossorigin="anonymous"></script>

PS Этот код не включает поле, о котором я спрашивал с тех пор, я не могу понять, с чего начать !!

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