2

我正在启动我的 Django (1.5) 项目,当我注册视图的 url 时,我收到了这个错误!

html

<form action="{% url 'MainApp:success' %}" method="POST" class="form-horizontal">
    {% csrf_token %}
    <div class="control-group">
    <label class="control-label" for="inputText">Nombres</label>
    <div class="controls">
      <input type="text" id="inputText" placeholder="Nombres" name="nombre" required>
    </div>
</div>
</form>

应用程序视图

from django.shortcuts import render, render_to_response
from django.contrib.auth.models import User

def index(request):
     return render_to_response('TeamCheetah/index.html')

def auth(request):
     if request.POST['registra'] is 'registra':
         user = User.objects.create_user(request.POST['nombre'], request.POST['email'], request.POST['pass'])
         user.last_name = request.POST['apellido']
         user.save()
     return render_to_response('TeamCheetah/Actions.html')

应用程序网址

from django.conf.urls import patterns, url

from MainApp_TeamCheetah import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^success/$', views.auth, name='success'),
)

我的网站.urls

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^$', include('MainApp_TeamCheetah.urls', namespace="MainApp")),
    url(r'^admin/', include(admin.site.urls)),
)

它标记了表单中的错误。我相信它与我创建的视图身份验证有关,因为当我在表单中使用 action: index 时,它工作得非常好。

4

1 回答 1

1

两件事情:

  • url标签是不写的',所以{% url MainApp:success %}当你通过名称而不是视图路径链接到 URL 时。这不应该影响事物,但这就是它们的规范编写方式。

  • 更重要的是,以下行有一个以 a 结尾的正则表达式,$这意味着它不会匹配任何在此之后具有某些内容的 URL:

    url(r'^$', include('MainApp_TeamCheetah.urls', namespace="MainApp")),

    这可以解释为什么它匹配index但不匹配success

于 2013-05-16T23:42:58.763 回答