码迷,mamicode.com
首页 > Windows程序 > 详细

Window+Apache+Django+mod_wsgi静态文件处理

时间:2016-04-18 06:28:10      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

例子:已经配置好了Apache可以访问D:\WebRoot\DjangoProject\mysite工程,想要把其他目录的django工程中的app加入到该工程中。

如果直接把app拷贝过去的话,Apache无法向Django一样直接找到static目录

 

解决办法:

1 把其他工程中所有app的静态问价收集到一个static文件夹中,再把这个文件夹拷贝到mysite工程目录。

  在test\settings.py中添加: STATIC_ROOT = BASE_DIR + os.sep + static  作为输出目录,当然也可以是任意路径

  然后执行:  python manage.py collectstatic 然后 yes 

  此操作会把该工程中所有app的static目录收集起来,放到工程根目录的static中

           技术分享    ==>    技术分享

2 配置Apache的static目录,并把收集的静态文件目录(admin,blog,personal)放到该目录

Alias /static/ "D:/WebRoot/DjangoProject/mysite/static/"      也可以任意指定,以后再添加应用直接把其static的内容放到这里即可

<Directory "D:/WebRoot/DjangoProject/mysite/static/">         设置访问权限
    Require  all  granted
</Directory>

3 拷贝新的应用到工程目录

  app目录(static可以不用了)+db.sqlite3(第一次可以覆盖,以后就不要了,重新migrate就好)

 

4 修改urls.py和settings.py

  按照原工程中的复制即可



  另一种方案

拷贝新的app到工程目录

在工程的settings.py中添加STATIC_ROOT输出到Apache的static目录

然后删除app中的static

也可以把templates、meida收集到一个目录中

if DEBUG:
    MEDIA_URL = /media/
    STATIC_ROOT = D:/WebRoot/DjangoProject/mvp_static/
    MEDIA_ROOT =  D:/WebRoot/DjangoProject/mvp_static/media/
    STATICFILES_DIRS = ( 
          D:/WebRoot/DjangoProject/mvp_static/static/,
    )    
    TEMPLATES_DIRS = (
         D:/WebRoot/DjangoProject/mvp_static/templates/,
    )

 

Window+Apache+Django+mod_wsgi静态文件处理

标签:

原文地址:http://www.cnblogs.com/roronoa-sqd/p/5403019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!