首页 > 解决方案 > 计算单词的非常简单的 Django 表单

问题描述

我正在尝试制作一个非常简单的 Django 表单,一旦您在表单中键入内容,它就有两个选项(按钮):一个删除它已写入的内容,另一个使用我已经拥有的功能计算单词。

我一直在尝试从教程中学习,但是对于这是什么来说一切似乎都太复杂了(我认为这很容易)。

env这是我在模板 Python 项目中的 HTML 。

<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.Formucountreset

标签: pythondjangodjango-modelsdjango-forms

解决方案


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 Girls 教程。它支持多种语言,适合初学者。


推荐阅读