代码之家  ›  专栏  ›  技术社区  ›  Pyroadrian

Django+Apache2上的静态文件出现URLCONF错误

  •  0
  • Pyroadrian  · 技术社区  · 7 年前

    我正在尝试将下载的引导主题集成到我的实时网站中

    我在django项目(manage.py所在)的根级别有一个/static目录,其中包含我所有的css/javascript文件。

    从我的设置.py

    STATIC_URL = '/static/'
    STATICFILES_DIR = '/var/www/html/aerocredRoot/static'
    

    在my index.html中

    {% load static %}
    ...href="{% static 'assets/web/.......' %}">
    

    还有我的网址.py

    urlpatterns = [
        url(r'^%', views.index),
        url(r'^admin/', include(admin.site.urls)),
    ]
    

    使用Django 1.11.13。

    在网络浏览器上,我不断地

    Using the URLconf defined in Aerocred.urls, Django tried these URL 
    patterns,in this order:
    
    ^$
    ^admin/
    The current URL, static/assets/bootstrap/css/bootstrap.min.css, didn't match any 
    of these.
    

    我已经尝试将静态文件夹移动到应用程序的子目录中,处理static_根目录,并执行CollectStatic操作,但没有效果。

    3 回复  |  直到 7 年前
        1
  •  0
  •   Zilong Li    7 年前

    我想应该是 {% load staticfiles %} .

        2
  •  0
  •   not2acoder    7 年前

    请确保要加载的格式是%加载静态%而不是(加载静态%)。

    你跑了吗 python manage.py collectstatic 要将静态文件存储在/var/www/html/aerocredroot/static中吗?

        3
  •  0
  •   Pyroadrian    7 年前

    所以我想出来了,

    我需要遵循Django文档中所述的惯例。所以我编辑了我的urls.py来匹配这个…

    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        # ... the rest of your URLconf goes here ...
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    

    然后编辑settings.py定义

    PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
    STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
    STATIC_URL = '/static/'
    STATICFILES_DIR = '/var/www/html/aerocredRoot/static'