python–本地开发时的Django静态文件–如何绝对服务? 您所在的位置:网站首页 django如何连接数据库 python–本地开发时的Django静态文件–如何绝对服务?

python–本地开发时的Django静态文件–如何绝对服务?

2023-04-10 21:29| 来源: 网络整理| 查看: 265

这应该是超级简单的,但不知怎的,它让我整个上午都被卡住了.我正在本地开发,使用django调试服务器,并使用此文件结构:

/project/ (django project)/static/ (static files)

在settings.py中,MEDIA_ROOT和MEDIA_URL都设置为’/ static /’,我在urls.py中使用它

url(r'^(?P

.*)$', 'django.views.static.serve', {'document_root': '../static'}),

在我的模板中,需要从静态目录服务器的文件配置如下:

这一切都应该工作 – Javascript / css / images都可以从hompage中正确地提供.但是,当我转到子目录(例如http://127.0.0.1:8000/news/)时,所有链接都会被破坏.

我已经尝试使用各种os.import选项让它正确地做相对链接,但没有任何运气.有没有办法可以强制它相对于基本URL,或者可能将其硬编码到我的文件系统?

任何帮助都会很棒!

解决方法:

在urls.py文件的这一行中,’../ static’应该更改为绝对目录.尝试更改它,看看会发生什么.

你的档案:

url(r’^(?P.*)$’,’django.views.static.serve’,{‘document_root’:’.. / static’}),

应该看起来更像:

url(r’^(?P.*)$’,’django.views.static.serve’,{‘document_root’:’/ full / path / to / static’}),

举个例子,我的设置有点不同,但我仍然使用完整的路径.

以下是我的设置方式:在settings.py中

STATIC_DOC_ROOT = '/Users/kylewpppd/Projects/Django/kl2011/assets/'

并在urls.py中:

(r'^assets/(?P

.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT, 'show_indexes':True}),

我正在从’localhost:8000 / assets /’提供我的静态文件.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有