2017-10-15 135 views
0

我只是花了一整天在cPanel上部署一个小型的Django应用程序。 Python虚拟环境设置,Django文件在,依赖关系安装...Django CSS和JavaScript未加载

静态CSS和JavaScript文件未被正确加载。

cPanel主机将passenger_wsgi.py放入我的Django应用程序目录中,使用.htaccess指向wsgi文件,这就是处理请求的方式。

静态文件的确切位置,他们在发展,并在settings.py

STATIC_URL = "/static/" 
STATIC_ROOT = "/path/to/public_html/static/" 
STATICFILES_DIRS = [("static", "/path/to/myapp/static/"),] 

在模板/基/ navigation.html(我也曾尝试{%负载静态%})

{% load staticfiles %} 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>{% block title %}{% endblock %} | SG</title> 
     <script src="{% static 'js/jquery.min.js' %}" type="text/javascript"></script> 
     <script src="{% static 'js/bootstrap.min.js' %}" type="text/javascript"></script> 
     <script src="{% static 'js/custom.js' %}" type="text/javascript"></script> 
     <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet" type="text/css"> 
... 

运行python manage.py collectstatic后,我得到了所有的静态文件,实际加载我的静态文件的唯一页面是登录页面。

任何其他页面(管理员,博客等)似乎推送应用程序/目录名称到链接/脚本标记导致错误。

added /blog/ between domain and static url

added /admin/ between domain and static url

在我的模板/博客/ blogs.html

{% extends 'base/navigation.html' %} 
{% block content %} 
    <div class="container"> 
    {% for blog in blogs %} 
     ... 

有没有人遇到过吗?什么导致请求做到这一点?

我一直盯着这一整天,所以如果有任何细节失踪请让我知道,我休息一下。

+0

Django的犯规生产提供静态文件。你必须单独设置它们。这取决于你的服务器。 –

+0

你的网址可能是相对的,这将解释他们只在登陆页面上工作。尝试将'js/jquery.min.js'更改为'/ js/jquery.min.js'。 –

回答

0

在你的HTML模板,尝试这个办法:

{% load static from staticfiles %}