Skip to main content
 首页 » 编程设计

python之Django STATIC_URL 不起作用,不提供文件

2025年05月04日48me-sa

我在 http://example.com 上有一个公司 wordpress 博客,在 http://example.com/web 上成功部署了 Django 应用程序。

我的应用程序是一个简单的应用程序(我仍在学习 Django),我希望在其中为“欢迎”页面(以及其他页面)提供背景。

我在文档中读到我需要使用 STATIC_URL - 所以这是我所拥有的和我所做的:

  1. 我的项目结构:

  1. settings.py 文件中与提供静态文件相关的全部内容:
STATIC_URL = '/web/static/' 
SETTINGS_PATH = os.path.dirname(__file__) 
PROJECT_PATH = os.path.join(SETTINGS_PATH, os.pardir) 
STATICFILES_DIRS = (os.path.join(PROJECT_PATH, "static"), ) 
USE_X_FORWARDED_HOST = True 
FORCE_SCRIPT_NAME = '/web' 
SUB_SITE = "/web" 

这是模板文件 base.html,我想在其中使用 back.jpg 作为网页背景图片:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
    <head> 
        <title>Simple Site 
        {% block title %}{% endblock %}</title> 
    </head> 
    <body background="/static/back.jpg" text="white"/> 
 
                <div align="center"> 
 
        <h1>{% block head %}{% endblock %}</h1> 
        {% block content %}{% endblock %} 
 
                </div> 
 
    </body> 
</html> 

但是,我看不到图像。这是一个生产(不是开发)应用程序。我该如何解决这个问题?

请您参考如下方法:

您的背景在错误的位置寻找背景图像,您应该使用 static template tag

<body background="{% static 'back.jpg' %}" text="white"/>     

要使用它,您需要静态加载(最好在模板顶部)

{% load static %}