- 打开项目主文件夹learning_log中的文件urls.py:
from django.contrib import admin from django.urls import path,re_path as url,include urlpatterns = [ path('admin/', admin.site.urls), #将learning_logs 的URL同项目中的其他URL区分开来 url(r'', include(('learning_logs.urls','learning_logs'), namespace='learning_logs')), ]
Django 2.0:
- path:带regex的路由,对于复杂的regex调用,可以使用re_path
- django.urls中include函数第一个参数传入的是tuple类型,另一个是参数是app_name(必填)
- 在learning_logs中新建urls.py:
"""定义learning_logs的URL模式""" from django.urls import re_path as url # 让Python从当前的urls.py模块所在的文件夹中导入视图 from . import views urlpatterns = { # 我们来看看正则表达式r'^$' 。其中的r 让Python将接下来的字符串视为原始字符串,而引号告诉Python正则表达式始于和终于何处。脱字符(^ )让Python查看字符串的开头, # 而美元符号让Python查看字符串的末尾。总体而言,这个正则表达式让Python查找开头和末尾之间没有任何东西的URL。Python忽略项目的基础URL(http://localhost:8000/),因此这 # 个正则表达式与基础URL匹配。其他URL都与这个正则表达式不匹配。如果请求的URL不与任何URL模式匹配,Django将返回一个错误页面。 url(r'^$',views.index,name="index"), }
- 编写视图:
打开learning_logs中的views.py:
from django.shortcuts import render # Create your views here. def index(request): """学习笔记的主页""" return render(request,'learning_logs/index.html')
Django将在文件views.py中查找函数index(),index()向函数render() 提供了两个实参:原始请求对象以及一个可用于创建网页的模板
- 编写模板:
在文件夹learning_logs中创建了文件夹templates,在templates文件夹中创建文件夹learning_logs(建立了Django能够明确解读的结构),新建一个文件,并将其命名为index.html:
<p>Learning Log</p> <p> Learning Log helps you keep track of your learning, for any topic you're learning about. </p>
- 浏览器打开http://localhost:8000/