Python Django 1.3静态文件

Python Django 1.3静态文件,python,django,Python,Django,比如关于Django 1.3的第十亿个静态文件问题。我一直在寻找和尝试很多东西,但似乎没有任何东西适合我。任何帮助都将不胜感激。我会尽力提供尽可能多的信息 URL文件 urlpatterns = patterns('', url(r'^projectm/statictest/$','project_management.views.statictest'),) 看法 模板 <html><head><title>Static Load Test Page<

比如关于Django 1.3的第十亿个静态文件问题。我一直在寻找和尝试很多东西,但似乎没有任何东西适合我。任何帮助都将不胜感激。我会尽力提供尽可能多的信息

URL文件

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

模板

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

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

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

但是,图像不会加载。我也在多个浏览器上尝试过。也许我在什么地方漏掉了一份imort声明


为帮助干杯

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

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


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

还记得在设置“static\u ROOT”后运行“collectstatic”管理命令


STATIC\u ROOT是runserver查找要提供服务的文件的地方(仅在DEBUG=True时有效)。它也是Django在静态收集期间复制静态文件的地方。默认情况下,collectstatic命令在每个应用程序的/static/中以及在STATICFILES\u dirs中列出的任何dirs中查找静态文件。是的,我正在使用内置的runserver。您好,所以我更新了配置文件中的static\u ROOT设置。执行了python manage.py静态收集。我可以看到它已经从我的apps静态文件夹中收集了TestImages,但是当我刷新页面时,图像仍然没有加载,路径只是imgsrc='testimage.jpg'。由于您正在使用内置runserver进行测试,您需要稍微调整一下URL.py。现在,一旦完成此操作并且服务器正在运行,请转到
http://your-url/static/testimage.jpg
–如果这样做正常,但模板仍在输出“src='testimage.jpg'”而不是“src='static/testimage.jpg'”,则在呈现模板时您没有使用RequestContext,。我想这可能与权限有关,所以我尝试将静态目录的名称命名为777,但没有效果。请尝试
{%get\u static\u prefix%}
。ref:嘿,马特,我把imgsrc改成了“/static/testimage.jpg”,它看起来很管用。它将其从project app文件夹中取出。但是当我使用静态标记时,它会再次中断。我肯定我在设置或其他方面做错了什么。谢谢
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
<img src="/static/testimage.jpg" />