使用 jinja 使用块内容时如何包含不同的 js 和 css 文件
Posted
技术标签:
【中文标题】使用 jinja 使用块内容时如何包含不同的 js 和 css 文件【英文标题】:how to include different js and css files when using block content using jinja 【发布时间】:2019-05-30 01:39:42 【问题描述】:我正在使用 Django 创建一个 Web 应用程序。我有一个html模板如下:
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
% block content %
% endblock %
</body>
</html>
我正在使用这个模板来创建其他 html 文件
% 扩展'document.html' %
% 块内容 % % endblock %
目前我指的是原始 document.html 中的所有 css 和 js 文件。如何仅在必要时在新模板中引用不同的 js 和 css 文件? 谢谢
【问题讨论】:
【参考方案1】:把它放在你的setting.py中
STATIC_URL = '/static/'
STATIC_ROOT = os.path.dirname(BASE_DIR) + '/staticfiles/'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
在创建的应用程序中创建静态文件夹并将您的 css、js 和通过此访问
<link href=" static('/app_name/css/reset.css') " rel="stylesheet">
<script type="text/javascript" src=" static('/app_name/js/jquery-1.11.3.js') "></script>
【讨论】:
【参考方案2】:现在它正在工作。我只做了一些改动
% extends 'document.html' %
% load staticfiles %
% block content %
现在我可以在新创建的模板中包含我需要的 js 或 css 文件,例如
<script src="% static 'vendors/js/tableexport.min.js' %"></script>
【讨论】:
以上是关于使用 jinja 使用块内容时如何包含不同的 js 和 css 文件的主要内容,如果未能解决你的问题,请参考以下文章