0

我有不匹配的 urlpatterns。这是我从 Django 教程中改编而来的。这可能很容易,但我只是想念它。

错误:

Page not found (404)
    Request Method: GET
    Request URL:    http://127.0.0.1:8000/sendemail/1
Using the URLconf defined in emailme.urls, Django tried these URL patterns, in this order:
    1. ^sendemail ^$ [name='index']
    2. ^sendemail ^(?P<msg_id>\d+)/$ [name='detail']
    3. ^sendemail ^(?P<msg_id>\d+)/results/$ [name='results']
    4. ^admin/
The current URL, sendemail/1, didn't match any of these.

模型.py:

from django.db import models

class Choice(models.Model):
    choice_text = models.CharField(max_length=200)

    def __unicode__(self):
        return self.choice_text

根 urls.py:

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

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^sendemail', include('sendemail.urls')),
    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
)

网址.py:

from django.conf.urls import patterns, url
from sendemail import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^(?P<msg_id>\d+)/$', views.detail, name='detail'),
    url(r'^(?P<msg_id>\d+)/results/$', views.results, name='results'))

视图.py:

from django.http import HttpResponse

def index(request):
    return HttpResponse("You're at the index")

def detail(request, msg_id):
    return HttpResponse("The details of message id %s" % msg_id)

def results(request, msg_id):
    return HttpResponse("The results of message id %s" % msg_id)
4

1 回答 1

1

这种模式,您要使用的模式,需要尾部斜杠。

url(r'^(?P<msg_id>\d+)/$', views.detail, name='detail'),

您使用的 URLsendemail/1没有。

于 2013-07-17T21:53:47.693 回答