前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(源码下载)完整的 Django 零基础教程|初学者指南 - 第6 部分 转自:维托尔·弗雷塔斯

(源码下载)完整的 Django 零基础教程|初学者指南 - 第6 部分 转自:维托尔·弗雷塔斯

作者头像
梦溪
发布2021-08-09 15:28:28
1.1K0
发布2021-08-09 15:28:28
举报
文章被收录于专栏:梦溪博客梦溪博客

静态文件设置

静态文件是 CSS、JavaScript、字体、图像或我们可能用来组成用户界面的任何其他资源。

事实上,Django 不提供这些文件。除了在开发过程中,所以让我们的生活更轻松。但是 Django 提供了一些功能来帮助我们管理静态文件。这些功能在配置中已经列出的django.contrib.staticfiles 应用程序中可用 INSTALLED_APPS

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

在项目根目录中,与boardtemplatesmyproject 文件夹一起,创建一个名为static 的新文件夹,并在static 文件夹中创建另一个名为css 的 文件夹:

代码语言:javascript
复制
myproject/
 |-- myproject/
 |    |-- boards/
 |    |-- myproject/
 |    |-- templates/
 |    |-- static/       <-- here
 |    |    +-- css/     <-- and here
 |    +-- manage.py
 +-- venv/

转到getbootstrap.com并下载最新版本:

引导程序下载

下载已编译的 CSS 和 JS 版本。

在你的电脑中,解压你从 Bootstrap 网站下载的bootstrap-4.0.0-beta-dist.zip 文件,将文件css/bootstrap.min.css 复制到我们项目的 css 文件夹中:

代码语言:javascript
复制
myproject/
 |-- myproject/
 |    |-- boards/
 |    |-- myproject/
 |    |-- templates/
 |    |-- static/
 |    |    +-- css/
 |    |         +-- bootstrap.min.css    <-- here
 |    +-- manage.py
 +-- venv/

下一步是指示 Django 在哪里找到静态文件。打开settings.py ,滚动到文件底部,在 之后 STATIC_URL,添加以下内容:

代码语言:javascript
复制
STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

TEMPLATES目录相同,还记得吗?

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

templates/home.html

代码语言:javascript
复制
{% load static %}<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Boards</title>
    <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}">
  </head>
  <body>
    <!-- body suppressed for brevity ... -->
  </body>
</html>

首先,我们使用模板开头的加载静态文件应用模板标签。<span class="p">{</span><span class="err">%</span><span class="w"><span> </span></span><span class="err">load</span><span class="w"><span> </span></span><span class="err">static</span><span class="w"><span> </span></span><span class="err">%</span><span class="p">}</span>

模板标签用于组成资源所在的 URL。在这种情况下,将返回/static/css/bootstrap.min.css,相当于http://127.0.0.1/static/css/bootstrap.min.css<span class="p">{</span><span class="err">%</span><span class="w"><span> </span></span><span class="err">static</span><span class="w"><span> </span></span><span class="err">%</span><span class="p">}</span>``<span class="p">{</span><span class="err">%</span><span class="w"><span> </span></span><span class="err">static</span><span class="w"><span> </span></span><span class="err">'css/bootstrap.min.css'</span><span class="w"><span> </span></span><span class="err">%</span><span class="p">}</span>

该模板标签使用配置在settings.py组成最终的URL。例如,如果您将静态文件托管在像https://static.example.com/这样的子域中 ,我们将设置然后 返回 https://static.example.com/css/bootstrap.min.css<span class="p">{</span><span class="err">%</span><span class="w"><span> </span></span><span class="err">static</span><span class="w"><span> </span></span><span class="err">%</span><span class="p">}</span>``STATIC_URL``STATIC_URL=https://static.example.com/``<span class="p">{</span><span class="err">%</span><span class="w"><span> </span></span><span class="err">static</span><span class="w"><span> </span></span><span class="err">'css/bootstrap.min.css'</span><span class="w"><span> </span></span><span class="err">%</span><span class="p">}</span>

如果目前这些对您都没有意义,请不要担心。只要记住 在需要引用 CSS、JavaScript 或图像文件时使用 。稍后,当我们开始使用 Deployment 时,我们将对其进行更多讨论。现在,我们都准备好了。<span class="p">{</span><span class="err">%</span><span class="w"><span> </span></span><span class="err">static</span><span class="w"><span> </span></span><span class="err">%</span><span class="p">}</span>

刷新页面127.0.0.1:8000 我们可以看到它起作用了:

Boards 主页 Bootstrap

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

代码语言:javascript
复制
{% load static %}<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Boards</title>
    <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}">
  </head>
  <body>
    <div class="container">
      <ol class="breadcrumb my-4">
        <li class="breadcrumb-item active">Boards</li>
      </ol>
      <table class="table">
        <thead class="thead-inverse">
          <tr>
            <th>Board</th>
            <th>Posts</th>
            <th>Topics</th>
            <th>Last Post</th>
          </tr>
        </thead>
        <tbody>
          {% for board in boards %}
            <tr>
              <td>
                {{ board.name }}
                <small class="text-muted d-block">{{ board.description }}</small>
              </td>
              <td class="align-middle">0</td>
              <td class="align-middle">0</td>
              <td></td>
            </tr>
          {% endfor %}
        </tbody>
      </table>
    </div>
  </body>
</html>

现在的结果:

Boards 主页 Bootstrap

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

Django Admin 简介

当我们开始一个新项目时,Django 已经配置了**.django 文件中** 列出的Django Admin INSTALLED_APPS

Django 管理员漫画

Django Admin 的一个很好的用例是在博客中;作者可以使用它来撰写和发表文章。另一个例子是电子商务网站,员工可以在其中创建、编辑、删除产品。

现在,我们将配置 Django Admin 来维护我们应用程序的板。

让我们从创建管理员帐户开始:

代码语言:javascript
复制
python manage.py createsuperuser

按照说明操作:

代码语言:javascript
复制
Username (leave blank to use 'vitorfs'): admin
Email address: admin@example.com
Password:
Password (again):
Superuser created successfully.

现在在 Web 浏览器中打开 URL:http : //127.0.0.1 : 8000/admin/

Django 管理员登录

输入用户名密码 登录管理界面:

Django 管理员

它已经配置了一些功能。在这里我们可以添加用户 来管理权限。稍后我们将探讨更多这些概念。

添加Board 模型非常简单。打开boards目录下的admin.py 文件,添加如下代码:

boards/admin.py

代码语言:javascript
复制
from django.contrib import admin
from .models import Board

admin.site.register(Board)

保存admin.py 文件,并在 Web 浏览器上刷新页面:

Django 管理板

就是这样!它可以使用了。单击Boards 链接以查看现有板的列表:

Django 管理板列表

我们可以通过单击“Add Board” 按钮来添加新板:

Django Admin Boards Add

点击保存 按钮:

Django 管理板列表

我们可以通过打开http://127.0.0.1 URL来检查是否一切正常:

董事会主页

结论

在本教程中,我们探索了许多新概念。我们为我们的项目定义了一些需求,创建了第一个模型,迁移了数据库,开始使用模型 API。我们创建了第一个视图并编写了一些单元测试。我们还配置了 Django 模板引擎、静态文件,并将 Bootstrap 4 库添加到项目中。最后,我们对 Django Admin 界面做了一个非常简单的介绍。

django-beginners-guide-0.2-lw.zip:

点击下载(访问密码:3604)


版权属于:Cyril

本文链接:https://cloud.tencent.com/developer/article/1858346

转载时须注明出处及本声明

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021 年 06 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 静态文件设置
    • Django Admin 简介
      • 结论
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档