【问题标题】:URL not found in django在 django 中找不到 URL
【发布时间】:2013-07-13 00:40:16
【问题描述】:

我是 django 的新手 我收到一个错误说 使用 portal.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式: ^事件/ ^$ [名称='索引'] ^事件/ ^pg1$ [名称='pg1'] ^管理员/ 当前 URL event/event/pg1.html 与其中任何一个都不匹配。

我的views.py文件是

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response,render
from event.models import Login,Page1

def index(request):
    return render_to_response("event/index.html")

def pg1(request):
    return render_to_response("event/pg1.html")

我的 pg1.html

<html>
    <body>
        <form>
        {%csrf_token%}
            Branch
            </br>
                <select name="Branch">
                    <option value="CSE">CSE</option>
                    <option value="CSD">CSD</option>
                    <option value="ECE">ECE</option>
                </select>
            </br>
        </br>
        Event Name: <input type="text" name="eventname"><br>
        </br>
        Test Date :<input type="date" name="test_date"><br>
        Test Time:<input type="time" name="test_time"><br>
        <input type="button" value="submit">
        </form>
    </body>
</html>

我的 index.html 文件

<!DOCTYPE html>
<html>
<body>

<form name="input" action="/event/pg1.html" method="post">
{%csrf_token%}
Username: <input type="text" name="user"><br>
Password: <input type="password" name="pwd"><br>
<input type="submit" Value="submit">
</form>
</body>
</html>

我的 urls.py 文件:

from django.conf.urls import patterns, url, include 
from event import views

urlpatterns = patterns('',
        url(r'^$', views.index, name='index'),
    url(r'^pg1$', views.pg1, name='pg1'),
)

【问题讨论】:

  • 对不同的文件使用不同的代码块。您试图将它们与包含的文件名分开,但它破坏了语法突出显示;]。

标签: django-urls


【解决方案1】:

您在执行action="/event/pg1.html" 时绕过了 Django URL。这里是the documentation在使用Django时与表单相关的内容。

当您需要在表单的action 属性中指定处理程序视图时(也就是当生成表单的视图和应该处理其 POST 数据的视图不同时),向其提供关联的 URL。

如果我正确理解您要执行的操作,您的表单中应该有 action="/event/pg1/"

【讨论】:

  • 我很抱歉语法不好,因为我不熟悉 stackoverflow 语法:(
  • 我试过 action="/event/pg1/" 也不起作用。当我尝试直接转到 127.0.0.1:8000/event/index 时,错误是相同的使用 portal.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
    name='index']
    ^event/ ^pg1/$ [name='pg1']
    当前 URL event/pg1 与其中任何一个都不匹配。
  • @GargSanket,我现在唯一能看到的是您的 URL event/pg1event/pg1/ 不匹配。但是尾部的斜杠应该不是问题。
  • @GargSanket,似乎 Django 可以在需要时自动添加斜杠,但如果没有,则不会删除任何斜杠。很高兴我能提供帮助,请随时标记为已回答;]。
猜你喜欢
  • 2014-11-18
  • 1970-01-01
  • 2017-01-18
  • 2020-04-14
  • 1970-01-01
  • 2014-06-12
  • 2019-01-22
  • 2014-01-01
相关资源
最近更新 更多