Django静态文件1

2024-10-05 14:32:22 发布

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

比如关于django1.3的第十亿个静态文件问题。我一直在寻找和尝试很多事情,但似乎没有什么对我有用。任何帮助都将不胜感激。尽可能多地提供信息。在

URL文件

urlpatterns = patterns('',
url(r'^projectm/statictest/$','project_management.views.statictest'),)

视图

^{pr2}$

模板

<html><head><title>Static Load Test Page</title></head>
<body>
{% load static %}
<img src="{{ STATIC_URL }}testimage.jpg" />
</body></html>

设置

STATIC_ROOT = '/home/baz/framework/mysite/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = ('',)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
TEMPLATE_DIRS = (
"/home/baz/framework/mysite/templates"

文件

-bash-3.2$ pwd
/home/baz/framework/mysite/templates
statictest.html

-bash-3.2$ pwd
/home/baz/framework/mysite/project_management/static
-bash-3.2$ ls
testimage.jpg

不太确定是否有其他有用的信息。但基本上,当我转到这个测试页面并检查页面源代码时,url指向的是

<img src="/static/testimage.jpg" />

但是图像不会加载。我也在多个浏览器上尝试过。也许我在某处漏掉了一份imort声明?在

为帮助干杯


Tags: 文件bash信息urlhomehtmlstaticframework
2条回答

您是在使用内置的runserver命令还是以其他方式为Django应用程序提供服务?在

如果您使用runserver,那么您的问题是没有告诉Django在文件系统中的何处找到静态资产。您需要将STATIC_ROOT设置为可以找到静态资产的文件系统路径。尝试将其设置为:/home/baz/framework/mysite/project_management/static/

如果您使用的是不同的服务器(例如Nginx背后的gunicorn),那么前端服务器负责拦截对/static/的请求并为您提供服务。在

还请记住,一旦设置了“STATIC_ROOT”,请运行“collectstatic”管理命令。在

https://docs.djangoproject.com/en/1.4/howto/static-files/#deploying-static-files-in-a-nutshell

相关问题 更多 >