Python Django正则表达式添加/?to URL.py中断静态链接
尝试构建我的正则表达式以方便最可能的输入:Python Django正则表达式添加/?to URL.py中断静态链接,python,regex,django,Python,Regex,Django,尝试构建我的正则表达式以方便最可能的输入: urlpatterns = patterns('', url(r'^(?i)(a|b|c)-kit$', path), url(r'^(?i)a-kit/(a|b|c)$', path), ) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 末尾的“/”会打断我的静态文件位置。模板选择正确,但静态文件路径被破坏,因为它将当前页面目录添加
urlpatterns = patterns('',
url(r'^(?i)(a|b|c)-kit$', path),
url(r'^(?i)a-kit/(a|b|c)$', path),
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
末尾的“/”会打断我的静态文件位置。模板选择正确,但静态文件路径被破坏,因为它将当前页面目录添加为根目录。下面是settings.py的相关部分
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
STATIC_URL = 'MySite/static/'
我的问题是这是如何发生的以及为什么会发生的,我们将非常感谢任何需要修复的链接或建议。然后结束斜杠将由django自动处理。从:
追加斜杠
默认值:True
当设置为True
时,如果请求URL与任何
URLconf中的模式,并且它不会以斜杠结束,即HTTP
重定向被发送到同一URL并附加斜杠。注意
重定向可能导致POST请求中提交的任何数据被删除
迷路了
只有在启用了CommonMiddleware
时,才使用APPEND\u SLASH
设置
安装
我能够按照答案成功地解决我的问题这解决了我的尾部斜杠问题,但不幸的是,同样的问题以另一种形式出现。我相信这与我的静态设置有关。我又添加了一些代码,请看一看。您是否正在运行
DEBUG=True
?是的,当然,问题是模板加载,但我的所有静态链接都会得到404,因为它会将以前的目录添加到路径中。没有要进行的调试。有什么想法吗?它在我添加到url.py的第二个链接上断开了。我所有的静态源最后都变成了a-kit/mysite/static/css/normalize.css
,如果你有DEBUG=True
(并且使用runserver
),那么你就不需要添加静态文件处理程序;将其从url.py中删除。