【问题标题】:Issue while integrating bootstrap template in a django project在 django 项目中集成引导模板时出现问题
【发布时间】:2020-02-09 05:18:52
【问题描述】:

我正在尝试将引导模板与我的 Django 项目之一集成。我大部分都成功了,并且能够将模板的所有图像和其他内容渲染到我的 django 项目中。但是模板的实际格式在集成时丢失了。我在这样做时发现了以下错误,需要帮助来理解并找到解决该错误的方法。以下是我的 cmd 中的错误。

 File "C:\Users\DELL\Anaconda3\lib\site-packages\django\utils\_os.py", line 46, in safe_join
    'component ({})'.format(final_path, base_path))
django.core.exceptions.SuspiciousFileOperation: The joined path (S:\stackpath.bootstrapcdn.com\bootstrap\4.4.1\js\bootstrap.min.js) is located outside of the base path component (C:\Users\DELL\community@with_final_template 7 Feb 2020\static)
[09/Feb/2020 10:46:44] "GET /static/https%3A/stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js HTTP/1.1" 500 59
Not Found: /favicon.ico
[09/Feb/2020 10:46:44] "GET /favicon.ico HTTP/1.1" 404 6333

settings.py

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

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

【问题讨论】:

  • 请告诉我们您是如何尝试在模板中加载引导资产的——这就是问题所在。
  • 添加了我加载静态路径的设置文件,并通过在模板文件中调用静态来匹配。
  • 这不是我想要的。我们需要查看您尝试在模板中的哪个位置加载外部引导 JS。 stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js 引用在哪里?

标签: django django-templates django-bootstrap4


【解决方案1】:

我们需要查看您的模板代码才能确定,但​​您的模板中似乎已经这样做了:

<script src="{% static 'https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js` %}"></script>

...这是无效的。 static 模板标签只能用于存储在静态目录中的资产。像这样的外部库应该作为常规 URL 引用:

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 2011-02-28
    • 2018-01-12
    • 2018-04-20
    • 2017-03-01
    • 2019-09-20
    相关资源
    最近更新 更多