Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django静态文件奇怪的行为_Django_Django 1.3_Django Staticfiles - Fatal编程技术网

django静态文件奇怪的行为

django静态文件奇怪的行为,django,django-1.3,django-staticfiles,Django,Django 1.3,Django Staticfiles,在my settings.py中,我有: import os SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) # ... # STATIC_ROOT = os.path.join(SITE_ROOT, 'static') # ... # STATIC_URL = '/static/' 在my URL.py中,我有: urlpatterns = patterns('', url(r'^', include('myapp.urls')

在my settings.py中,我有:

import os
SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
# ... #
STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
# ... #
STATIC_URL = '/static/'
在my URL.py中,我有:

urlpatterns = patterns('',
url(r'^', include('myapp.urls')),
url(r'^admin/', include(admin.site.urls)),
)

if settings.DEBUG:
urlpatterns += patterns('',
    url(r'^static/(?P<path>.*)', 'django.views.static.serve', {
        'document_root': settings.STATIC_ROOT,
    }),
以及我的模板:

<img src="/{{ STATIC_URL }}images/myimage.png">


真管用!!为了解决这个问题,我一直在周而复始,我看了很多论坛帖子,但我似乎不知道我做错了什么。

如果你使用staticfiles应用程序,你不需要它(假设你使用的是Django 1.3):

if settings.DEBUG:
urlpatterns+=模式(“”,
url(r'^static/(?P.*),'django.views.static.service'{
“document\u root”:settings.STATIC\u root,
})

它由应用程序自动处理。尝试删除并查看发生了什么。

在一个不工作的应用程序中打印了什么?!打印很好,路径就是不可访问。例如,如果我测试,我会得到一个404。好的,但打印工作的应用程序是什么?!尝试完全限定的静态url
http://localhost:8000/static/
什么是happens?我还假设这是django开发服务器…不像apache/nginx etcIsn,这不是只针对django 1.3+?是的,但他没有提到他使用的是哪个django版本。不过我猜应该是1.3。对于其他偶然发现这个的人来说,这可能是个好主意。是的-是1.3。如果我删除静态url模式我得到了同样的行为:产生404。好的。我明白了。关键的部分似乎是把文件放在应用程序目录的/static文件夹中,而不是项目目录中。我已经看了很多次官方文档,但忽略了这个看似小的细节。感谢James Khoury让我再看一眼。
STATIC_URL = 'static/'
<img src="/{{ STATIC_URL }}images/myimage.png">
if settings.DEBUG:
    urlpatterns += patterns('',
        url(r'^static/(?P<path>.*)', 'django.views.static.serve', {
            'document_root': settings.STATIC_ROOT,
    })