在Apache 2.2上运行Django& mod_wsgi时提供静态文件

时间:2011-06-19 11:53:18

标签: django mod-wsgi static-files

我已经更改了我的Apache 2.2的httpd.conf

#Serve static files
Alias /static/ "E:\Python\Django\carlsblog\static\"
<Directory "E:\Python\Django\carlsblog\static">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>

#Start mod_wsgi as default handler
WSGIScriptAlias / "E:\Python\Django\carlsblog\django.wsgi"

<Directory "E:\Python\Django\carlsblog">
Allow from all
</Directory>

我的应用程序可以成功运行,只有静态文件无法访问,Django抛出404;

但是,如果我更改此行

Alias /static/ "E:\Python\Django\carlsblog\static\"

进入

Alias /static/ "E:\Python\Django\carlsblog\static"

可以看到静态文件夹的索引页,但无法访问文件。当我在这时检查Apache的错误日志时,我发现了类似的内容:

File does not exist "E:\Python\Django\carlsblog\staticmy_static_file.txt"

似乎缺少“\”,任何人都有解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:4)

尝试从别名中删除尾部斜杠:

Alias /static "E:\Python\Django\carlsblog\static"

更新(2015):此答案来自2011年。目前,使用gunicorn + nginx为django应用程序提供服务被认为是一种更好的做法。

答案 1 :(得分:0)

你的模板好吗?在浏览器中使用View Source检查生成的HTML。