静态文件设置
静态文件是 CSS、JavaScript、字体、图像或我们可能用来组成用户界面的任何其他资源。
事实上,Django 不提供这些文件。除了在开发过程中,所以让我们的生活更轻松。但是 Django 提供了一些功能来帮助我们管理静态文件。这些功能在配置中已经列出的django.contrib.staticfiles 应用程序中可用 INSTALLED_APPS
。
有这么多可用的前端组件库,我们没有理由继续渲染基本的 HTML 文档。我们可以轻松地将 Bootstrap 4 添加到我们的项目中。Bootstrap 是一个开源工具包,用于使用 HTML、CSS 和 JavaScript 进行开发。
在项目根目录中,与board 、templates 和myproject 文件夹一起,创建一个名为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
,添加以下内容:
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
转载时须注明出处及本声明