Django HTML表单数据抛出NoReverseMatch

时间:2018-10-19 17:32:06

标签: python html django forms django-forms

我有一个简单的Django网站,我试图建立一个隐藏的表单,直到我单击“添加数据”为止。 单击“添加数据”后,它将显示“输入我”下面的输入区域,例如“姓氏”,“姓氏”和“国家/地区”。提交后,应将我重定向到新页面,该页面将列出数据库中存在的所有名称。

下面是我的HTML表单代码:

<div id="sub_div2">
    <a href="/myapp/mylink">
        <h4> Add  Data</h4>
    </a>
    <p>
        <button onclick="myFunction()">Add New Data</button>
    </p>
    <button onclick="myFunction()">Add New data</button>
    </p>
    <form id="myDIV" style="display" action="{% url 'data_app:forminput' %}" method="POST" enctype="multipart/form-data">
        <div style="margin:0;padding:0">

            <label for="fname">First Name</label>
            <input type="text" id="fname" name="firstname" placeholder="Your name..">
            <br>
            <br>
            <label for="lname">Last Name</label>
            <input type="text" id="lname" name="lastname" placeholder="Your last name..">
            <br>
            <br>
            <label for="country">Country</label>
            <select id="country" name="country">
                <option value="australia">Australia</option>
                <option value="canada">Canada</option>
                <option value="usa">USA</option>
            </select>
            <br>
            <br>

            <input type="submit" value="Submit">

    </form>
    <br>
    </div>
    <br>

我的项目url.py如下URL

url(r'^', include('data_app.urls', namespace='data_app')),
url(r'^index$', views.index, name='index'),
url(r'^forminput$', views.data_update, name='data_update'),

和我的views.py如下功能

def data_update(request):
    if request.POST:
        messages.success(request, 'Form submission successful')
        return HttpResponseRedirect('/')

当我尝试此操作时,出现以下错误: 找不到'forminput'的反向符号。 “ forminput”不是有效的视图函数或模式名称。

我想输入表格数据并解析该怎么做?有人可以帮忙吗

1 个答案:

答案 0 :(得分:1)

您没有名为“ forminput”的URL模式。路径为“ forminput”的URL具有 name “ data_update”,因此您应在url标记中使用它:

<form action="{% url 'data_app:data_update' %}"

请注意,您没有提交文件,因此不需要enctype属性。