创建网页:学习笔记主页
1. 映射URL
当前,基础URL(http://localhost:8000/
)返回默认的Django网站,让我们知道正确地建立了项目,我们将修改这一点,将这个基础URL映射到 “学习笔记”的主页。打开文件learning_log/url.py
,执行以下代码:
# from django.conf.urls import include, url
# from django.contrib import admin
# urlpatterns = [
# url(r'^admin/', include(admin.site.urls)),
url(r'', include('learning_log.urls',namespace = 'learning_logs')),
]
实参namespace让我们能够将
learning_logs
的URL区分开来,这在项目开始扩展时很有帮助。
默认的urls.py
还包含在文件夹learning_log
中,现在我们需要在文件夹learning_logs
中创建另一个urls.py文件:
"""定义learning_logs的URL模式"""
from django.conf.urls import url
from . import views
urlpatterns = [
# 主页
url(r'^$', views.index, name = 'index'),
]
代码的第三行的句点让Python从当前的urls.py
模块所在的文件夹中导入视图。在这个模块中,变量urlpatterns是一个列表,包含可在应用程序learning_log
中请求的网页,实际的URL模式时一个对函数url() 的调用,这个函数接受三个实参:
① 正则表达式:看看r’^$’,其中的r让python将接下来的字符串视为原始字符串,而引号告诉python正则表达式始于和终于何处。脱字符( ^ )让python查看字符串的开头,而美元符号让python查看字符串的末尾,如果请求的URL不与任何URL模式匹配,Django将返回一个错误页面
② 第二个实参views.index
指定了要调用的视图函数,请求的URL与前面的正则表达式匹配时,,Django将调用views.index
③ 将这个URL模式的名称指定为index,让我们能够在代码的其他地方引用它,每当需要提供到这个主页的链接时,我们都将使用这个名称,而不编写URL
2.编写视图
找到文件learning_logs/views.py
,执行以下代码:
from django.shortcuts import render
# 在这里创建视图
def index(request):
"""学习笔记主页"""
return render(request, 'learning_logs/index.html')
URL请求与我们刚才定义的模式匹配时,Django将在文件views.py
中查找函数index()
,再将请求对象传递给这个视图函数。这里向函数render()
提供了两个实参:原始请求对象以及一个可用于创建网页的模板。
3. 编写模板
在文件夹learning_logs
中新建一个文件夹,并将其命名为templates,在文件夹templates中再创建一个新的文件夹,并将其命名为learning_logs
,在这个learning_logs
中新建一个文件夹并命名为index.html,然后执行以下代码:
<p>Learning Log</p> # 这是标题
<p>Learning Log helps you keep track of your learning, for any topic you're learning about.</p> # 用户可用 “学习笔记来做什么”
现在你调用这个项目的基础URL------http://localhost:8000/
,你将看到刚刚创建的网页,也就是以上编辑的内容。创建网页的过程看起来可能很复杂,但是将URL、视图和模板分离的效果实际上很好,这让我们能够考虑项目的不同方面。
今天的分享就到这里啦,如果你有follow me一步一步的做到这里,我觉得你是可造之才,相信有些过程已经慢慢得熟练了起来,在后面的模块和页面制作过程中你将会如鱼得水。在下一章节中我将介绍其他网页的制作和设计,敬请期待…
感谢你的阅读💕💕💕