首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django:静态文件

Django:静态文件
EN

Stack Overflow用户
提问于 2012-03-23 23:37:49
回答 3查看 2.3K关注 0票数 0

当我尝试在我的博客中提供图片时,模板正在查找

代码语言:javascript
复制
[26/Mar/2012 10:33:42] "GET /blog/images/coke.jpg HTTP/1.1" 200 6153

但是,当我从平面页面加载图像时,模板会在

26/Mar/2012 10:33:42 "GET /blog/images/coke.jpg HTTP/1.1“200 6153

我想这是因为我需要用我的博客应用程序在我的urls.py文件中添加一些东西,以便它知道我的静态URL是什么,而不是在博客/图像文件夹中查找。

我正在使用标签:

代码语言:javascript
复制
src="{{ STATIC_URL }}images/header.png"

我的settings.py有:

代码语言:javascript
复制
STATIC_ROOT = '/export/mailgrp4_a/sc10jbr/WWWdev/dbe/djangostatic/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
'/export/mailgrp4_a/sc10jbr/WWWdev/dbe/static/',

我的博客url.py有:

代码语言:javascript
复制
urlpatterns = patterns('dbe.blog.views',
(r"^(\d+)/$", "post"),
(r"^add_comment/(\d+)/$", "add_comment"),
(r"^delete_comment/(\d+)/$", "delete_comment"),
(r"^delete_comment/(\d+)/(\d+)/$", "delete_comment"),
(r"^month/(\d+)/(\d+)/$", "month"),
(r"", "main"),
)

我的主url.py有:

代码语言:javascript
复制
urlpatterns = patterns('',
url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
)

我需要添加什么?

我更新的博客url.py有:

代码语言:javascript
复制
from django.conf.urls.defaults import *
from dbe.blog.models import *
from django.contrib.staticfiles.urls import staticfiles_urlpatterns


urlpatterns = patterns('dbe.blog.views',
(r"^(\d+)/$", "post"),
(r"^add_comment/(\d+)/$", "add_comment"),
(r"^delete_comment/(\d+)/$", "delete_comment"),
(r"^delete_comment/(\d+)/(\d+)/$", "delete_comment"),
(r"^month/(\d+)/(\d+)/$", "month"),
(r"", "main"),
)

urlpatterns += staticfiles_urlpatterns()

我更新的主url.py有:

代码语言:javascript
复制
from django.conf.urls.defaults import *
from dbe.blog.models import *
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
url(r'^blog/', include('blog.urls')),

# Uncomment the admin/doc line below to enable admin documentation:
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),

)

urlpatterns += staticfiles_urlpatterns()

其他人能帮上忙吗,我真的被困住了,甚至在遵循了下面的帮助之后。有什么我可以用来帮助调试和诊断问题的吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-19 05:35:23

在开发过程中,您可以将此代码添加到urls.py。完成后,您必须将web服务器配置为提供静态文件。

代码语言:javascript
复制
if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.MEDIA_ROOT,
        }),
         url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
            'document_root': settings.STATIC_ROOT,
        }),
   )
票数 2
EN

Stack Overflow用户

发布于 2012-03-23 23:49:11

看起来你很怀念下面的事情:

settings.py (可能需要syncdb )

代码语言:javascript
复制
INSTALLED_APPS = (
...
"django.contrib.staticfiles",
...
)

TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.static',
...
)

主urls.py:

代码语言:javascript
复制
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns += staticfiles_urlpatterns()

运行collectstatic命令

此外,还有包含所有详细信息的文档页面:

https://docs.djangoproject.com/en/1.3/howto/static-files/

票数 0
EN

Stack Overflow用户

发布于 2012-03-24 01:03:18

/blog/images/header.png中请求图像的唯一方法是将{{ STATIC_URL }}求值为空字符串。发生这种情况的唯一方式是没有在上下文中设置它,而发生这种情况的唯一方式是没有包含staticfiles模板上下文处理器:

代码语言:javascript
复制
TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.static',
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9842114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档