接 《使用 Django 创建项目(入门笔记一)》
创建网页
前面使用了 Django 管理网站来显示数据,网页显示效果相对比较单一,无法支持个性化显示。下面使用 Django 来创建自己的网页。 创建网页的过程分为三个阶段:定义URL、编写视图、编写模版。
用户通过在浏览器中输入 url 来访问需要的内容,因此先来解决 URL映射 的问题。 首先当然是要有主页,主页是用户访问项目内容的基础 URL,之前通过访问 127.0.0.1:8000/ 来访问 Django 管理网站的主页,现在创建一个主页,然后把之前主页的地址映射到新键的网页。
编写模版
主页是一个 html 格式文件,对应上面 MVT 图中的模版模块。模板指定了网页是什么样的,而每当网页被请求时,Django 将填入相关的数据。模板提供了访问视图提供的任何数据的有效方式。 为了让这个流程都能跑起来,这里先定义一个简单的模版。首先在应用目录 notes/ 中创建文件夹 templates 用来存放所有用到的模版文件,再创建一个 notes/ 文件夹用来保存接下来要编写的主页和子页面。
$ mkdir -p templates/notes
$ cd templates/notes
接下来在目录中创建主页。
<meta charset="utf-8">
<p>学习笔记</p>
<p>轻松搜集·有序整理·高效学习</p>
保存后试着直接双击在浏览器中打开,显示如下页面(不同浏览器下显示可能稍有不同,这里使用的是 Safari)
如果显示正常,那么就可以开始配置视图和URL,使得当我们打开 Django 管理网站时显示的是这个页面。
编写视图
视图,即视图函数。视图接受 Web 请求并返回响应。 应用目录 notes/ 下的 views.py 负责视图函数的实现,在这里实现一个视图函数,负责将网站主页索引到刚刚编写的主页文件上:
from django.shortcuts import render
def index(request):
return render(request, 'notes/index.html')
映射 URL
在项目目录 my_note/ 中的 urls.py 中添加映射:
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include(('notes.urls', 'notes'), namespace = 'notes'))
]
同时,在应用目录 notes/ 中创建名为 urls.py 的文件,并添加如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name = 'index')
]
重启服务并访问 127.0.0.1:8000:
整个流程看起来是有点复杂,实际也确实如此,其目的就是为了使视图、模版和URL 分离,在实际生成过程中也大部分采用这样的工作模式。 结合 MVT 图可以看到整个的流程大致如下:
完~
|