Ubuntu 中使用 Apache 进行 Django 生产不显示图像

发布于 2025-01-17 11:38:16 字数 1675 浏览 3 评论 0原文

我想在使用 Apache 的 Ubuntu 服务器中配置我的 django 项目,但它不显示图像。我像这样编辑文件settings.py。

settings.py

DEBUG = False

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'static','media')

我在 html 文件中显示图像,如下所示。

index.html

{% load static %}
{% block content %}

        <img src="{% static '/media/images/logo.png' %}">

{% endblock %}

我在路径 /etc/apache2/sites-available/000-default.conf 中设置了 apache 文件 像这样。

<VirtualHost *:80>
        ServerName myweb.com
        DocumentRoot /home/user/myproject_dir/myproject
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Alias /static /home/user/myproject_dir/myproject/static
        <Directory /home/user/myproject_dir/myproject/static>
                Require all granted
        </Directory>

        <Directory /home/user/myproject_dir/myproject/myproject>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>

        WSGIDaemonProcess myproject_dir python-path=/home/user/myproject_dir/myproject python-home=/home/user/myproject_dir/myproject_env
        WSGIProcessGroup myproject_dir
        WSGIScriptAlias / /home/user/myproject_dir/myproject/myproject/wsgi.py
</VirtualHost>

我将图像上传到这样的路径。

/home/user/myproject_dir/myproject/static/media/images/logo.png

我使用命令collectstatic并重新启动apache服务,但它没有在我的网站中显示图像。如何修复它?

I want to config my django project in Ubuntu server which use Apache but it not show image. I edit file settings.py like this.

settings.py

DEBUG = False

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'static','media')

I show image in html file like this.

index.html

{% load static %}
{% block content %}

        <img src="{% static '/media/images/logo.png' %}">

{% endblock %}

I set apache file in path /etc/apache2/sites-available/000-default.conf
like this.

<VirtualHost *:80>
        ServerName myweb.com
        DocumentRoot /home/user/myproject_dir/myproject
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Alias /static /home/user/myproject_dir/myproject/static
        <Directory /home/user/myproject_dir/myproject/static>
                Require all granted
        </Directory>

        <Directory /home/user/myproject_dir/myproject/myproject>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>

        WSGIDaemonProcess myproject_dir python-path=/home/user/myproject_dir/myproject python-home=/home/user/myproject_dir/myproject_env
        WSGIProcessGroup myproject_dir
        WSGIScriptAlias / /home/user/myproject_dir/myproject/myproject/wsgi.py
</VirtualHost>

I upload image to path like this.

/home/user/myproject_dir/myproject/static/media/images/logo.png

I use command collectstatic and restart apache service but it not show image in my website. How to fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文