一、创建第一个页面(响应)
1.进入项目中的views.py文件中添加代码:
form django import HttpResponse
def index(request):
return HttpResponse("hello world")
2.在urls.py中配置url
第一种url配置:
- 第一个参数是url本身,是一个地址(用的是正则表达式)
- 第二个参数是响应函数
- url名称(可以省略)
url(r'^index/',bv.index),
3.运行服务器
pyhton manage.py runserver
4.进入浏览器,地址栏中输入:
就可以看到 计算机界十分经典的* hello world *的字样
注意:
每个响应对应一个函数,函数必须返回一个响应
函数必须存在一个参数,一般约定为request
第二种URL配置:
from django.conf.urls import url,include
- 删除掉
import blog.views as bv
- 修改url函数的第二个参数,第一个参数也顺便修改得合理些:
url(r'^blog/',include('blog.urls')),
- 在blog目录下创建一个urls.py文件,其中的代码
from django.conf.urls import url,include
from . import views
urlpatterns = [
url(r'^$',views.index),
]
ps:改成空字符串是因为两个文件中的路径一样,没有必要
^是用来约束以空开始,$约束以空结尾
二、创建template
1.templates介绍
是HTML文件,使用了Django模板语言(Django Templates Language ,DTL)
也可以使用第三方模板(如Jinja2)
2.开发第一个Template
步骤:
- 在APP根目录下创建名叫Templates的目录
- 在该目录下创建HTML文件:index.html
- 在views.py中修改index函数:
def index(request):
return render(request,"index.html")
render的第一个参数是请求对象本身,第二个是模板文件,第三个是后台传递到前端的数据可以省略
3.DTL的初步使用
render函数中支持一个dict类型参数,该字典是后台传递到模板的参数,键为参数名,在模板中使用{{参数名}}来直接使用
修改后的index函数:
def index(request):
return render(request,"index.html",{'hello':"hello!"})
修改后的HTML文件:
<body>
<h1>{{ hello }}</h1>
</body>
注意:Django查找templates的顺序是按照INSTALLED_APPS中的添加顺序,如果两个应用的模板文件名称相同,就会造成冲突,无法达到想要的效果
解决方案:
在APP的templates目录下创建以APP 为名称的目录,将模板文件放入其中