Очень простая форма Django, которая считает слова - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь создать очень простую форму Django, в которой есть две опции (кнопки), когда вы набираете что-то в форме: одна удаляет то, что было написано, а другая подсчитывает слова с помощью функции, которая у меня уже есть.

Я пытался учиться на уроках, но все кажется слишком сложным для того, что это такое (что, я думаю, довольно просто).

Это мой HTML-код в шаблоне Python env.

<html>
    <form action="#" method="post">
        <label for="your_name">Your name: </label>
        <input type="text">
        <input type="submit" value="Count!" >
        <input type="submit" value="Reset!">
    </form>

</html>

Это мой .py файл:

from django import forms

class Formu(forms.Forms):
    nombre=forms.CharField(max_length=100)

    def count(self, request):
        # My function to count
        pass

    def reset(self, request):
        # Reset(?)
        pass

Я действительно не знаю, как связать кнопки. Я думаю, что мне не хватает некоторых концептуальных знаний, потому что я действительно не знаю, по какому пути мне сейчас идти, чтобы связать кнопки count и reset в Formu методах count и reset.

1 Ответ

0 голосов
/ 09 мая 2018

Ваш Form не является view. Это просто ввод внутри вашей формы.

Т.е., базовый forms.Form из документации Django

from django import forms

class NameForm(forms.Form):
    your_name = forms.CharField(label='Your name', max_length=100)

отображается в HTML следующим образом:

<label for="your_name">Your name: </label>
<input id="your_name" type="text" name="your_name" maxlength="100" required />

Вот и все. Вам нужно View, а не Form.

Я думаю, вам следует попробовать FBV (функционально-ориентированный просмотр), не используя форму.

Поэтому я настоятельно рекомендую следовать учебным курсам по Django - это очень хорошо - и сделать шаг от основного запроса / ответа.

Здесь является официальной документацией Django. За ним легко следить и хорошо организовано.

Я также рекомендую Учебник Django для девочек . Он поддерживает множество языков и хорош для начинающих.

...