(4)django的新手三件套(返回页面、返回字符、重定向)
2024-10-19 02:24:16
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:用户请求的路径只有符合路由和函数的对应关系才能请求成功
最新文章
- 《HTML重构》读书笔记&;思维导图
- Three.js基础部分学习
- [BZOJ3262]陌上花开
- cell 内部 设置width 总不对
- GitHub安装配置
- Android 软键盘弹出时把原来布局顶上去的解决方法
- Jenkins离线下载插件,并安装
- cdoj 383 japan 树状数组
- 学习完毕-css
- Asp.Net中的session配置
- ubuntu python PyCharm virtualenv
- java web应用程序目录
- Nginx 限流
- CCF2013123最大的矩形(C语言版)
- React编写input组件传参共用onChange
- springboot 整合 MongoDB 实现登录注册,html 页面获取后台参数的方法
- 软工网络15个人作业4——alpha阶段个人总结
- 学习Acegi应用到实际项目中(12)- Run-As认证服务
- python问题:AttributeError: &#39;module&#39; object has no attribute &#39;SSL_ST_INIT&#39;
- react的生命周期需要知道的。
热门文章
- PHP7 ci框架session存文件,登录的时候session不能读取
- shell脚本学习之参数传递
- 研究Duilib的实现结构
- 【Jmeter基础知识】Jmeter的三种参数化方式
- linux初始化宏__init, __exit
- prototype:构造函数的真相、原型链
- 前端小菜鸡使用Vue+Element笔记(二)
- 【转载】JVM系列二:GC策略&;内存申请、对象衰老
- [leetcode121]股票买卖 Best Time to Buy and Sell Kadane算法
- 对称加密-java实现