(4)django的新手三件套(返回页面、返回字符、重定向)
from django.shortcuts import render,HttpResponse,redirect
新手三件套,前期开发都会用到
render #向浏览器返回页面
HttpResponse #向浏览器返回字符内容
redirect #重定向
django里有分层的概念
urls.py就是路由层
views.py 就是视图层
templates.py 就是模板层
modles.py 就是模型层
django框架的简单使用
urls.py
from app01 import views #这里导入app01包下的模块
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 执行函数的对应关系,这个是固定写法,第一个r后面跟的是一个路径,后面跟倒入的函数
url(r'index/',views.index),
]
views.py
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
# 这里写函数
def index(request): # 这里一定要有一个形参,request这个是标准的写法
# 这个可以向浏览区返回内容
return HttpResponse('hello web')
PS:访问地址的时候需要在地址后面跟对应关系的路径,否则404报错
django返回一个html页面
urls.py
from app01 import views #这里导入app01包下的模块
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 执行函数的对应关系,这个是固定写法,第一个r后面跟的是一个路径,后面跟倒入的函数
url(r'index/',views.index),
]
views.py
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
# 这里写函数
def index(request): # 这里一定要有一个形参,request这个是标准的写法
# 这个可以向浏览区返回内容
return render(request,'index.html')
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是首页</title>
</head>
<body>
<h1>django的index页面</h1>
<a href="http://www.baidu.com">点击进百度</a>
</body>
</html>
django返回一个重定向
urls.py
from app01 import views #这里导入app01包下的模块
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 执行函数的对应关系,这个是固定写法,第一个r后面跟的是一个路径,后面跟倒入的函数
url(r'index/',views.index),
]
views.py
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
def index(request): # 这里一定要有一个形参,request这个是标准的写法
# 返回一个重定向
'''当你访问这个函数的时候,这个函数直接返回一个重定向的地址给你,这样你访问的就是这个返回的地址'''
return redirect('http://www.baidu.com') #如果这里是一个页面文件的地址,则前后都要加 / 否则会出错
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是首页</title>
</head>
<body>
<h1>django的index页面</h1>
<a href="http://www.baidu.com">点击进百度</a>
</body>
</html>
PS:重定向就是你发送一个请求,我返回另一个地址给你访问
关于路径的查找
默认django的settings文件里面已经写好了,就是当前项目的跟目录,如果项目下还有目录则自己可以拼写
返回模板文件夹templates下app01文件夹内的页面模板文件
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
def index(request): # 这里一定要有一个形参,request这个是标准的写法
# 因为默认是项目根目录,所以直接可以写模板文件下文件及名字+文件名
return render(request,'app01/time.html')
关于urls里面路由和函数的对应关系,正则匹配
from app01 import views
urlpatterns = [
# 这里带了^ 就是以admin的开头字母a来正则匹配
url(r'^admin/', admin.site.urls),
# url是一个函数,后面跟的是函数的参数,第一个是一个正则表达式,只要能匹配上index就能执行函数
url(r'index',views.index),
# 如果是^ 开头和结束符号$结尾,就是只能匹配的路径只有index,写其他的都不行
url(r'^index$',views.index),
]
PS:用户请求的路径只有符合路由和函数的对应关系才能请求成功