django URL 模板标签相对 URL

0 投票
1 回答
898 浏览
提问于 2025-04-18 04:21

基本上,我把我的应用程序部署在了一个虚拟专用服务器(VPS)上,使用了Apache和mod_wsgi。对于我的静态文件,我用了{% url %}这个模板标签,像这样:

<link href="{% static "bootstrap.min.css" %}" rel="stylesheet">

但是Django没有加载静态文件,因为它生成的是相对网址,所以我通过以下方式解决了这个问题:

<link href="/{% static "bootstrap.min.css" %}" rel="stylesheet">

不过现在当我访问/admin页面时,静态文件又没有加载,还是因为相对网址的问题。我该怎么解决呢?

这是我的mod_wsgi配置:

import os
import sys
import site

# Add the app's directory to the PYTHONPATH
sys.path.append('/home/tshirtnation')
sys.path.append('/home/tshirtnation/tshirtnation')

os.environ['DJANGO_SETTINGS_MODULE'] = 'tshirtnation.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

还有我的Apache配置:

#Listen 80

<VirtualHost *:80>
        ServerAdmin marijus.merkevicius@gmail.com
        ServerName 5.199.166.109
        WSGIDaemonProcess ts threads=25
        WSGIProcessGroup ts
        Alias /static /home/tshirtnation/staticfiles
        WSGIScriptAlias / /home/tshirtnation/index.wsgi
</VirtualHost>

如果你需要其他信息,请告诉我。

1 个回答

0

我也遇到了Django的管理后台静态文件的问题。这是我用的解决办法,希望对你有帮助。

下面是针对Nginx的配置:

location /static/admin {
    alias "/pythonenv_path/lib/python3.2/site-packages/django/contrib/admin/static/admin";
}

撰写回答