正斜杠断开网址.py

2024-06-12 22:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我是个新手,请温柔一点。我正在使用亚硝基.io以及Django 1.5。我经历了一些奇怪的事情,正在寻找一些解释。我不确定是一个中间件还是我的newsmism引起了问题(我的钱都花在我的newsmism上了)。抱歉,我不知道这件事的政策是什么。在

这是我的网址.py公司名称:

 urlpatterns = patterns('',
   url(r'^church$', church),
 ) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

在你告诉我我不需要添加静态代码段之前,请注意,这是我能让我的静态文件得到正确服务的唯一方法。在

这是我的设置.py公司名称:

^{pr2}$

在您告诉我我的STATIC_URL是错误的或者我不需要STATIC_ROOT之前,请注意这是我能够正确处理静态文件的唯一方法。在

这就是发生的事情:

如果我在urlpatterns中添加一个正斜杠,例如url(r'^church/$', church),,那么regex将签出,但是没有加载任何静态文件。在

enter image description hereenter image description here

如果我删除正斜杠(例如url(r'^church$', church),)并重新加载页面,则会因为正斜杠而出现404错误。我的印象是,公共中间件(我已经安装)处理了正斜杠Link

enter image description here

删除正斜杠可以完美地加载页面:

enter image description here

enter image description here

显然,这是不可取的。我可以使用它,但任何正斜杠都会发生这种情况,而不仅仅是在正则表达式的末尾。这会成为一个问题,因为它还会将当前页面添加到所有静态文件的开头。在

我的问题:为什么常见的中间件不能正确处理正斜杠?我的静态文件服务配置到底有什么问题,上面的方法是我能让它工作的唯一方法?在


Tags: 中间件文件方法py名称url静态公司
1条回答
网友
1楼 · 发布于 2024-06-12 22:18:05

如果您的STATIC_URL前面没有斜杠,浏览器将其视为相对URL。在

正如您在您的normalize.css失败/church/的屏幕截图中看到的那样,STATIC_URL前面加了前缀。在这些文件正在运行的其他请求中,/church/不存在。在

更改:

STATIC_URL = 'MySite/static/'

^{pr2}$

这将导致静态内容的请求永远不会受到URL中斜杠的影响,因为它们总是以@服务器根目录开头。在

相关问题 更多 >