My First Django Project (3) - Apache set up

Holy moly!!!!因为漏了一下斜杠,害我反复调试了2,3天,无法读取static 文件,一直找不出原因,后来在apache的error.log中发现了原因。

 

1. 下载了apache 2.4, 并安装mod_wsgi:  下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

基本上第三方的包都可以在这个地址上找到。

whl文件: 可以使用install pip *.whl 来解压安装,解压后你所在的文件夹,会有个mod_wsgi.so的文件,将其烤入:{install directory}\Apache24\modules

Apache 的安装和配置比较简单就不细说了,唯一值得注意的是安装完后配置 {install directory}\Apache24\conf\httpd.conf 文件.

就是 Define SRVROOT "{}" 记得改成你Apache24所在的目录。还有注意端口的占用和修改,比如80端口,可能迅雷和IIS都会占用,修改端口号,

#Listen 12.34.56.78:80  
Listen 127.0.0.1:8086     此处为修改成8086端口

 

2.接下来就是配置Django和Apache

还是{install directory}\Apache24\conf\httpd.conf 这个文件,需要设置路劲之类的

#添加mod_wsgi.so 模块  
LoadModule wsgi_module modules/mod_wsgi.so  
  
#指定myweb项目的wsgi.py配置文件路径  
WSGIScriptAlias / F:/Django_Project/qblog/qblog/wsgi.py  
  
#指定项目路径  
WSGIPythonPath F:/Django_Project/qblog  
  
<Directory F:/Django_Project/qblog/qblog>  
<Files wsgi.py>  
    Require all granted  
</Files>  
</Directory>  
  
Alias /static/ F:/Django_Project/qblog/static/   #红色部分尤其注意啊,之前就是这里被坑爹了,网上给的教程多数没有最后的 / 导致我静态文件读取不出来
<Directory F:/Django_Project/qblog/static/>      #千万要记得加/,最后是看Apache的errorlog才发现的,果然看Log很有用!   
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>   

setting.py中记得将 DEBUGTEMPLATE_DEBUG设成True,否则会有404报错.

DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []

3. Admin的静态文件显示不正确的情况

先设置static_ROOT在setting.py中

STATIC_ROOT = os.path.join(BASE_DIR, "static")  

之后运行collectstatic将所有static文件收集到static_root下面(包括admin和你app的静态文件)

F:\mydjango>python manage.py collectstatic  

 

再将你的static路劲指向这里!大功告成!

 

posted @ 2015-04-16 20:15  西番莲果汁  阅读(244)  评论(0编辑  收藏  举报