django配置文件详解,django静态资源目录配置

  django配置文件详解,django静态资源目录配置

  注:本文为《一个完整的Django入门指南》系列教程(中文版)第11节。你可以查看本教程的完整目录。

  静态文件设置

  静态文件是指CSS、JavaScript、字体、图片或任何其他用于形成用户界面的资源。

  实际上,Django本身并不负责处理这些文件。为了使我们的开发过程更容易,Django提供了一些函数来帮助我们管理静态文件。这些函数可以在INSTALLED_APPS的django.contrib.staticfiles应用中找到(译者:django为了方便开发,还负责处理静态文件。在生产环境中,静态文件由Nginx等反向代理服务器直接处理,而应用服务器则专门处理自己擅长的业务逻辑)。

  市场上有这么多前端组件库,我们没有理由继续渲染基本的HTML文档。我们可以很容易地将Bootstrap 4添加到我们的项目中。Bootstrap是一个用HTML、CSS和JavaScript开发的开源工具包。

  在项目的根目录中,除了boards、templates和myproject文件夹之外,创建一个名为static的新文件夹,并在static文件夹中创建另一个名为css的文件夹:

  我的项目/

   -我的项目/

   -电路板/

   -我的项目/

   -模板/

   -静态/-这里

   - css/-还有这里

   - manage.py

  - venv/

  前往getbootstrap.com下载最新版本:

  下载CSS和JS的编译版本

  在您的计算机中,解压缩bootstrap-4.0.0-beta-dist.zip文件,并将文件css/bootstrap.min.css复制到我们项目的css文件夹中:

  我的项目/

   -我的项目/

   -电路板/

   -我的项目/

   -模板/

   -静态/

   - css/

   - bootstrap.min.css -此处

   - manage.py

  - venv/

  下一步是告诉Django在哪里可以找到静态文件。打开settings.py,拉到文件底部,在STATIC_URL后添加以下内容:

  STATIC_URL=/static/

  STATICFILES_DIRS=[

  os.path.join(BASE_DIR, static ),

  ]

  还记得模板目录吗,它与这个配置相同?

  现在我们必须在模板中加载静态文件(引导CSS文件):

  templates/home.html

  {%loadstatic%}!DOCTYPEhtml

  超文本标记语言

  头

  元字符集=utf-8

  标题板/标题

  linkrel= style sheet href= { % nbs

  p;static'css/bootstrap.min.css'%}">

  </head>

  <body>

  <!--bodysuppressedforbrevity...-->

  </body>

  </html>首先,我们在模板的开头使用了 Static Files App 模板标签 {% load static %}。

  模板标签{% static %}用于组成资源所在的URL。在这种情况下,{% static 'css/bootstrap.min.css' %}将返回 /static/css/bootstrap.min.css,它相当于 **http://127.0.0.1:8000/static/css/bootstrap.min.css**。

  {% static %}模板标签使用 settings.py文件中的 STATIC_URL 配置来组成最终的URL,例如,如果您将静态文件托管在像 https://static.example.com/这样的子域中 ,那么我们将设置 STATIC_URL=https://static.example.com/ ,然后 {% static 'css/bootstrap.min.css' %}返回的是 https://static.example.com/css/bootstrap.min.css

  如果目前这些对你来说搞不懂也不要担心。只要记得但凡是需要引用CSS,JavaScript或图片文件的地方就使用{% static %}。稍后,当我们开始部署项目到正式环境时,我们将讨论更多。现在,我们都设置好了。

  刷新页面 127.0.0.1:8000 ,我们可以看到它可以正常运行:

  现在我们可以编辑模板,以利用Bootstrap CSS:

  

{%loadstatic%}<!DOCTYPEhtml>

显示效果:

 

  到目前为止,我们使用交互式控制台(python manage.py shell)添加新的版块。但我们需要一个更好的方式来实现。在下一节中,我们将为网站管理员实现一个管理界面来管理这些数据。

  下一节:Django入门指南12-Django Admin的使用

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: