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')

App.url

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'),
)

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

2つのこと:

  • urlタグは なし'で記述されるため{% url MainApp:success %}、ビュー パスではなく名前で URL にリンクしている場合。これは物事に影響を与えるべきではありませんが、それが標準的に書かれている方法です。

  • さらに重要なことに、次の行には a で終わる正規表現があります。$これは、その後に何かがある URL には一致しないことを意味します。

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

    それはなぜそれが一致するのに一致しないのかを説明しindexますsuccess

于 2013-05-16T23:42:58.763 に答える