python3使用Django后网页的图片文件无法显示404的路径问题(static文件夹的放置)
展开阅读全文

最近在撰写Django程序web网页的时候,发现网页的内容都能加载,但是图片都加载不了,相应的js,css文件都加载不了,经过分析知道是图片资源路径的问题。

下面是一个简单配置Django程序的介绍帖子,有需要的同学可以直接粘贴。

解决方法:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(__file__),'static')

设置图片等静态文件的路径

STATICFILES_DIRS = (
    ('css',os.path.join(STATIC_ROOT,'css').replace('\\','/') ),
    ('js',os.path.join(STATIC_ROOT,'js').replace('\\','/') ),
    ('images',os.path.join(STATIC_ROOT,'images').replace('\\','/') ),
    ('upload',os.path.join(STATIC_ROOT,'upload').replace('\\','/') ),
)

步骤2:在urls.py文件的开头第一行和第二行分别加上以下内容:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import staticfiles

在urls.py文件最后加上以下内容:

#设置静态文件路径
urlpatterns += staticfiles_urlpatterns()

步骤3:设置静态文件的目录,很关键

整个文件的目录结构如下

static 文件夹在app文件夹下面。(当然这对后面的大型应用来说不好,但是做为初学者已经够用了)

你的static和templates处于同级目录,然后将你的images,css,js文件夹放在static目录下面

测试:在你模板,也就是html文件中

#设置静态文件路径
urlpatterns += staticfiles_urlpatterns()

改成自己的图片名称,注意图片前缀:/static/images/ 别写成 static/images/ 这样会无法显示.