static file问题

django的staticfile的服务

首先设置STATIC_URL和STATIC_ROOT
另需要在INSTALLED_APPS中增加 'django.contrib.staticfiles'

由于在本地测试和使用pycharm开发时,都是使用的python的原生服务器,也就是使用:

python manage.py runserver

但是在服务器上使用的是uwsgi,不能实现自动服务。

另需要在urls中添加:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

此外,我看了下static这个helper函数的源码,它会判断是否在DEBUG状态下,再提供url。

为了强行部署static server,可以使用:

import re

from django.conf import settings
from django.conf.urls import url
from django.views.static import serve


def static(prefix, view=serve, **kwargs):

    return [
        url(r'^%s(?P<path>.*)$' % re.escape(prefix.lstrip('/')), view, kwargs=kwargs),
    ]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容