(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:用户请求的路径只有符合路由和函数的对应关系才能请求成功
(4)django的新手三件套(返回页面、返回字符、重定向)的更多相关文章
- Django + Mysql 中关于时间异常返回500错误的解决
问题描述: 最近在阿里云部署 Django(1.11.x) 时,在后台发布文章后,页面返回 500 异常. 刚开始的时候,遇到这个问题一脸懵逼,不知道该如何入手.后来把 settings.py 中 D ...
- SpringBoot如何返回页面
SpringBoot中使用Controller和页面的结合能够很好地实现用户的功能及页面数据的传递.但是在返回页面的时候竟然会出现404或者500的错误,我总结了一下如何实现页面的返回以及这里面所包含 ...
- iOS 从某个页面返回然后刷新当前页面
-------->不说废话 在返回页面实现下面方法: - (void)navigationController:(UINavigationController*)navigationContro ...
- 输入url到页面返回的过程
输入url后,你看到了百度的首页,那么这一切是如何发生的呢? 这个问题之前.最近.我想以后肯定还会被问到,或者问到这样的题目,如果在百度框里输入查询的字符串开始,是怎么返回你需要的东西呢. 那这什么个 ...
- 支付宝通知页面notify_url、返回页面return_url
返回页面(return_url文件)工作原理 即:商户系统请求/支付宝响应交互模式 1. 构造请求数据 商户通过提供的接口代码示例,通过代码示例的规则,程序构造与运算得到sign加密结果以及构造后的 ...
- jQuery Mobile页面返回无需重新get
最近公司的web app项目,使得我有幸一直接触和学习jQuery Mobile.这确实是一个很不错的移动开发库,有助于擅长web开发的工程师,快速入门并构建自己的移动应用.但是在前两天,我碰到了一个 ...
- ASP.NET设置404页面返回302HTTP状态码的解决方法
在配置文件中配置404页面如下: .代码如下: <customErrors mode="On" defaultRedirect="404.aspx"> ...
- 浏览器中输入URL到返回页面的全过程
第一步,解析域名,找到主机IP (1)浏览器会缓存DNS一段时间,一般2-30分钟不等.如果有缓存,直接返回IP,否则下一步. (2)缓存中无法找到IP,浏览器会进行一个系统调用,查询hosts文件. ...
- springmvc中返回页面,只在iframe中跳转,而不是整个页面,解决方法。
问题描述:在我写的主页面中用到了iframe,其中在iframe中有一个button点击提交,然后在Controller中返回页面的时候,是在iframe中打开的,而不是整个页面. 最开始我想用aja ...
随机推荐
- 【配置】pom.xml的配置
pom.xml的配置: 地址:https://mvnrepository.com/ 示例:配置log4j 1.在搜索框中搜索log4j 2.在搜索结果页点击log4j 3.选择一个最新的版本,点击 4 ...
- learning at command AT+CIMI
AT command AT+CIMI [Purpose] Learning how to get the International Mobile Subscriber Identity ...
- shlve 模块
shlve 模块 也用于序列化 它与pickle 不同之处在于 不需要惯性文件模式什么的 直接把它当成一个字典来看待 它可以直接对数据进行修改 而不用覆盖原来的数据 而pickle 你想要修改只能 ...
- UVa LA 3882 - And Then There Was One 递推,动态规划 难度: 2
题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...
- vue组件通信方式总结
对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的各种方式的总结,总共有8种方式. 1. props和$emit 父组件向子组件传递数据是通过prop传递的,子组件传递数据给 ...
- 外部点击链接,登陆后,直接跳转到该链接(过滤器 + Cookie实现)
一.web.xml (1)指定过滤的Servlet类 (2)配置过滤规则,过滤以.mail结尾的链接 <?xml version="1.0" encoding="U ...
- Cracking The Coding Interview 1.2
//原文: // // Write code to reverse a C-Style String. (C-String means that "abcd" is represe ...
- android-DNS服务找不到
1.重启eclipse 2.重新建立AVD 3.在建立AVD时sd卡数值不要填
- Strut2在Action-Result的配置文件内转到jsp页面时用URL传递参数
Struts.2.5.5版本在Action配置文件中内有如下result,其中role是Action类中的属性,在配置文件中用到OGNL表达式 <result name="input& ...
- 【Python】多线程-1
#练习:创建一个线程 from threading import Thread import time def run(a = None, b = None) : print a, b time.sl ...