创建Django的过程通常为三个阶段:定义URL,编写视图和编写模板。
映射URL
当在浏览器中输入URL时,现在默认会返回默认的Django网站,现在需要将主页映射到项目“学习笔记”的主页。
在项目主文件learning_log中的文件urls.py中,添加代码
from django.conf.urls import include,url; #需要自己添加from django.contrib import adminfrom django.urls import pathurlpatterns = [ path('admin/', admin.site.urls), #自己添加的URL 在learning_logs中的urls中 url(r'', include('learning_logs.urls', namespace='learning_logs')),]
上面的代码中用到的代码中learning_logs.urls不存在,需要手动在learning_logs的应用程序下新建urls.py
"""learing_logs应用程序中的URL模式"""from django.conf.urls import urlfrom . import viewsurlpatterns = [ #主页 url(r'^$', views.index, name='index')]app_name = 'learning_logs' #自定义的应用程序的名字
编写视图
视图函数接收请求中的信息,准备好生成网页所需的数据,再将这些数据发送给浏览器。
在learning_logs中的views.py是在python manage.py startapp创建应用程序时自动创建的。
from django.shortcuts import render# Create your views here.def index(request): """学习笔记的主页""" return render(request,'learning_logs/index.html')
该代码中URL请求与刚才定义的模式匹配时,Django将在文件views.py中查找函数index(),然后再将请求对象传递给这个视图函数。在这里不需要处理任何数据,这个函数只包含了调用render()函数的代码。这里向render函数提供的两个实参,request请求对象以及一个可用于创建网页的模板。接下来编写这个模板
编写模板
为了区别项目,更好的管理,在learning_logs文件夹中,新建templates文件夹,在templates文件夹中新建learning_logs文件夹,用来区别两个learning_logs
在最里面的文件夹中新建一个index.html文件,随便输入一个<p>
然后在浏览器中输入localhost:8000即可观察到跳转至index.html
至此,主页就创建好了,CSS美化可以在后期完善。