Day17 Django的基础使用和结构
整个Django的访问流程:
浏览器 urls: http://127.0.0.1:8000/timer
url.py:
1, http://127.0.0.1:8000/timer GET 无请求数据
2,url匹配 url: url(r'^timer/',views.showtime)
3,showtime()函数
4,响应 时间字符换 浏览器 urls: http://127.0.0.1:8000/login
url.py:
1,http://127.0.0.1:8000/login/ GET 无请求数据
2,url匹配 url(r"^login",views.login)
3,login()函数
4,响应 login.html函数 返回的url是http://127.0.0.1:8000/valide
1,http://127.0.0.1:8000/valide POST 有请求数据{"user":"yangshuai"}类似于这种
2,url匹配 url(r"^valide",views.valide)
3,valide函数
4,响应页面
URL的详细讲解:
urls这个文件如果引用的两个文件里有重名,可以起一个别名:from blog import views as blog_views
当如果多个规则都可以匹配成功的话,以第一条匹配成功的为准。
rl配置系统的无名分组:例如查找一个年份里的页面,可以利用正则表达式来进行 url配置系统的有名分组:
根据关键字来传参
url(r"^article/(?P<year_id>\d+)/(?P<month_id>\d+)$", blog_views.article_year)
前面必须跟上?P<参数名> ,后面跟上$ 符号,这样才可以 映射分发:
当一个Django里边出现两个工程或者多个时,可以在每个项目里放入一个urls.py文件。
比如说现在有两个项目,一个blog,一个app01
总的url.py配置文件要定义的东西:
1,from django.conf.urls import url,include
2,urlpatterns = [
url(r'^admin/', admin.site.urls),
#路由分发app
url(r"^blog/",include(blog.urls))
]
3,在每个项目里创建urls.py
然后在里边写每个配置就行了
from blog import views as blog_views
from app01 import views as app01_views url反向解析:
url(r"^login.html/",app01_views.login,name="login")
后边的网页中需要这么写:
<form action="{% url 'login' %}" method='post'>
视图函数:
请求对象(请求对象):
request.GET() :数据类型是字典 get请求数据
request.POST() :数据类型是字典 post请求数据
request.method() 请求方式
request.path 请求路径
request.get_full_path 请求全路径
响应对象(响应对象):
Httpresponse()
render():
template:模板
context:上下文对象
redict()
Day17 Django的基础使用和结构的更多相关文章
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Django web 基础
一.Django概述 Django大而全; 创建Django工程:django-admin startproject sitename 创建django之后生成的目录结构如下: Project Pro ...
- Django笔记 —— 基础部分总结
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...
- 第五篇:python基础之循环结构以及列表
python基础之循环结构以及列表 python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...
- Python开发【第二十一篇】:Web框架之Django【基础】
Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...
- 【Python全栈-后端开发】Django入门基础-2
Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1 变量(使用双大括号来引用变量) {{var_name}} 2 标签(tag)的使用 ...
- 用Django ORM实现树状结构
前言 之前看对于用关系数据库实现树状结构的方法就知道一直做自关联的表,但是感觉自关联查询太慢了,最近看到一篇文章,感觉视野开拓了好多,文章:数据库表设计,没有最好只有最适合来自:微信. 下面就针对这里 ...
- Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)
Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...
随机推荐
- iOS中 MPMoviePlayer 实现视频音频播放 作者:韩俊强
ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController.前者是一个view,后者是个Controller.区别就是 MP ...
- React Native的WebStorm基本设置
jsx语法设置 在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示: 当然我们点击转换后就可以了,但是每次都会提示,所以还是来一个一劳永逸的方法把它给去 ...
- FT5X06 如何应用在10寸电容屏(linux-3.5电容屏驱动简析&移植10寸电容屏驱动到Android4.2) (by liukun321咕唧咕唧)
这是几个月以前的东西了,在彻底遗忘之前拿出来好好写写.做个笔记,也算是造福后来人了.在做这个项目之前,没有做过电容屏的驱动,印象中的电容触摸屏是不需要校正的.IC支持多大的屏就要配多大的屏.但是拿到需 ...
- javascript语法之for-in语句
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 《java入门第一季》之eclipse快捷键
Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当 ...
- [面试算法题]有序列表删除节点-leetcode学习之旅(4)
问题描述 Write a function to delete a node (except the tail) in a singly linked list, given only access ...
- JavaScript进阶(六)用JavaScript读取和保存文件
用JavaScript读取和保存文件 因为Google还不提供同步插件数据的功能,所以导入和导出插件配置就必须和文件打交道了.而出于安全原因,只有IE才提供访问文件的API:但随着HTML 5的到来, ...
- C# BarCodeToHTML条码生成类
来自:http://www.sufeinet.com/forum.php?mod=viewthread&tid=656&extra=page%3D1%26filter%3Dtypeid ...
- 用简单的C语言实现多任务轮流切换(模拟操作系统线程机制)
最近在看linux内核的进程调度算法,也写了不少的内核注释,也参考了鸿哥的单片机框架,代码注释就开源在我的CSDN的git代码库里,有兴趣的可以去瞧瞧. 突发奇想,想到了既然单片机能够实现,那么我用标 ...
- Android官方技术文档翻译——新构建系统概述
本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...