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

例子:已经配置好了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/‘,
    )
时间: 2024-10-12 17:40:37

Window+Apache+Django+mod_wsgi静态文件处理的相关文章

apache上部署django的静态文件

一直在优化自己博客的代码, 昨天把css样式表分离出来, 用作静态 文件, 但是自己还没学django怎么使用静态文件, 经过一番google 终于解决了. django 使用静态文件有两种方法, 一种就是部署在django上, 另外一种 是部署在apache 上, 前一种方法有一定的缺陷, 效率不高, 而且会造 成一定的安全威胁, 具体我也不知道, 大家可以看官方文档, 但是还是 向大家介绍一下. 可以在你的项目下建一个static目录, 在settings.py 中添加: #填写你静态文件的

django中静态文件路径配置

#环境:ubuntu12.04+python27+django1.4.2+[ngix]+fastcgi; #如果经过ngix服务器的话无疑可以在任意位置放置,只要在ngix中配置相关的路径文件,但很多时候在调试时我们不想经过ngix服务器,那就需要对django进行静态文件的路径配置. #首先我想把我的静态文件放在项目的根目录下,创建一个static的文件夹,为了便于显示效果,我在static下放置了一个sa.txt文件,里面随意写一些内容! #文件目录如图所示: #打开settings.py文

django处理静态文件

转载自 http://www.cnblogs.com/wswang/p/5519101.html 静态文件指的是js css 还有图片这些,配置方法如下 1. 在设置文件(settings.py)中,installed_apps中添加 django.contrib.staticfiles 然后设置static_url 1 STATIC_URL = '/static/' 2. 在模板中的使用方式如下 1 2 {% load staticfiles %} <img src="{% static

[django]windows下用Django,静态文件请求失败,出现UnicodeDecodeError

问题:windows下用Django,静态文件请求失败,出现UnicodeDecodeError:'utf-8' codec can't decode byte 0xb0 in position 1:invalid start byte,怎么解决啊? 回答:应该是静态文件的格式问题.也许它的编码是GBK的,你用UTF-8解,就解不开.用记事本打开,另存一个UTF-8格式.

django的静态文件的引入

django的静态文件的引入 1.路径配置 在templates文件夹的同级目录下新建static文件夹 在setting里面写上STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] 2.静态文件的引入 硬编码 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <t

Django中,图片显示问题--Django中静态文件处理方法指南

html网页中要显示一张JPG图片,可是怎么放都是显示不了. 后来搞明白,这个涉及静态文件的处理方法. 在urls.py中添加一行: urlpatterns = patterns('', (r'^site_media/(?P<path>.*)','django.views.static.serve',{'document_root':'E:/media'}), }然后在html页面中,写入 <p><img src="/site_media/gmshi.jpg&quo

nginx,uwsgi,部署django,静态文件不生效问题

打开浏览器,然后访问服务器,如果能够正常访问,并且页面链接可以跳转,但是页面却是乱的,那一定是nginx.conf里面的静态文件配置不正确, location /static/ {#expires 30d; #autoindex on;#access_log off; #add_header Cache-Control private; root /root/project/; } #比如我的项目在/root/project/,这里面包含manage.py还有很多app,然后我们需要在setti

Django对静态文件的处理——部署阶段

参考:http://blog.makto.me/post/2012-11-09/static-files-in-django-deployment HTML模板中的用法: {% load staticfiles %} <img src="{% static "images/hi.jpg" %}" /> 下面来总结下上面提到过的 settings.py 中的设置项: STATIC_ROOT:执行 ./manage.py collectstatic 后,所有

django 设置静态文件,static

一.搜集静态文件 1.1 命令行查看 collectstatic guoguos-MacBook-Pro:mysite guoguo$ python manage.py -h [staticfiles] collectstatic findstatic runserver 1.2 执行 python manage.py collectstatic 收集信息 guoguos-MacBook-Pro:mysite guoguo$ python manage.py collectstatic You