配置URL的第二种方法
首先对上次学习内容的URL配置进行优化。因为我们直接进行import,当应用文件较多时将会变得繁杂,不利于维护 。所以我们选用另外一种URL配置方法,即:urls.py中的Including another URLconf。
首先要引入一个include方法在url后面。再把path路径的第二个参数改为include(‘blog.urls’),并把import语句删掉。因此,我们需要在blog中新建一个urls.py的文件。因为它与mysite中的urls.py都是地址配置文件,所以我们可把mysite中的urls.py文件中的内容直接复制过来,再进行修改。最终blog\urls.py如内容下:
from django.urls import path
from.import views
urlpatterns = [
path('', views.index),
]
直接访问http://127.0.0.1:8000/blog/就可看到Hello,world。
开发第一个Templates
1.什么是Templates
- 一个一个的HTML文件。它与传统的HTML文件有什么区别呢?它使用了Django模板语言(Django Template Language,DTL)。
- 可以使用第三方模板。只需要在settings.py文件中修改TEMPLATES中的BACKEND内容即可。
2.步骤: - 在APP的根目录(blog应用的根目录)下创建名叫Templates的目录
- 在该目录下创建HTML文件
- 在views.py中返回一个render(渲染)。render函数通常传递三个参数,前两个是必须的。第一个是request请求对象本身,第二个是模板文件(index.html)。完整语句为:
return render(request,'index.html')
DTL初步使用
1.render的第三个函数是用来传递数据到前端。这个参数支持dict(字典)类型的数据,其中字典是键值对,键是参数名,即前端获取到的参数名,值是我们要传递的数据。在模板中使用{{参数名}}来直接使用。
//index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{hello}}</h1>
</body>
</html>
//views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
# return HttpResponse('Hello,world')
return render(request,'index.html',{'hello':'hello,blog!'})
# Create your views here.
注意:
Django按照INSTALLED_APPS中的添加顺序查找Templates,不同APP下Templates目录中的同名.html文件会造成冲突。
可以使用换名的方法解决,但这样过于麻烦。
我们可以在APP的Temlates目录下创建以APP名为名称的目录,将HTML文件放入新创建的文件目录中。