2012-05-21 19 views
5

,所以我有一个Django应用程序,我访问这个网址:Django的尾随斜线没有被添加

http://127.0.0.1:8000/stories 

,我得到这样的:

Request Method:  GET 

Request URL: http://127.0.0.1:8000/stories 

"stories" does not exist 

,然后我检查了urls.py我看到:

#stories 
url(r'^stories/$', 
    StoryShowView.as_view(
     context_object_name='story_list', 
     template_name='accounts/viewAndAddStory.html') 
), 

最后,我看着我的settins.py,我看到:

#appends a slash if nothing is found without a slash. 
APPEND_SLASH = True 

不应与APPEND_SLASH如上设置,没有斜杠的URL进行301重定向到URL以斜线,然后将网页加载?

如果我手动添加斜杠到网址,然后页面加载按预期,每个人都有一些茶,并提前敲门。

UPDATE:

我也有我的settings.py此项:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
) 

UPDATE:

从当我尝试访问的URL页面上的错误消息:

Django版本:1.3.1

解决:所以okm是金钱轰炸,亲爱的。问题是我的网址 - 就在底部,我有这个:

if settings.DEBUG: 
    urlpatterns += patterns('', 
     url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], 
     'django.views.static.serve', 
     {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}) 
    ) 

我已经没有什么,但是,做的是,该MEDIA_URL和MEDIA_ROOT我settings.py均未进入 - 他们都只是空字符串(“”)

这样的网址找到事情是找到愿意进入我的所有URL,以为他们的CSS条目。我输入了media_root(我的css etc文件所在的文件夹)和media_url(我用来指示获取静态文件的url)的值,并且都很好。

+1

你有['django.middleware.common.CommonMiddleware'(https://docs.djangoproject.com/en/1.4/ref/middleware/#django.middleware.common。CommonMiddleware')在你的'MIDDLEWARE_CLASSES'设置中? –

+0

是的,我也有那里 – bharal

+0

什么是你的django版本?它可能是很好的检查... – FallenAngel

回答

9

"does not exist"应该是这样的"Page not found"。因此,我怀疑你没有面对正常的404,而是404错误配置的urlconf中的一些错误匹配视图。例如,我发现django.views.static.serve将提高Http404('some_path does not exist'),您可以检查urls.py确保意见如static.serve不匹配路径,如/stories

如果有匹配的,则Django不会追加后缀斜线和自动重定向。

您可以通过

from django.core.urlresolvers import resolve 
resolve('/stories') 

检查,以了解哪些观点实际上得到匹配。

+0

啊。你是对的!尽管我还*在没有斜杠的情况下为某些页面获取了“页面未找到”错误,这导致我离开。问题中的解释。 – bharal