django 模型,项目与应用的创建 ,url,views,template ,controller

1,web框架

框架--framework,是为解决一个问题儿设计一个有约束性的支持结构,可以快速的开发系统,

对于所有的web框架,本质就是一个sock的服务端,而浏览器就是一个sock客户端。

WSGI,既web server gateway interface  ,web服务网关接口,客户端所有的请求都要先经过wsgi,底层所有的tcp/ip,http等协议,都已经封装好,wsgi提供了统一的接口,

在wsgi 中做了对http的解析和组装,request里包含了请求的数据,

django是用python语言编写的,依赖于python的环境

安装django ,pip install django ,执行命令后,在Python/Script目录下,就存在一个django.admin.exe 文件,

===============

2.mtv 和mvc 模式

model,是与数据库交互

template ,进行模块的渲染,显示前端的内容

views ,视图,逻辑代码,实现url与执行函数的调用,

controller  ,控制路由分发,

----

MVC模式就是把web应用分为model(模型),负责与数据库的交互,views(视图)负责与页面的交互,controller(控制)负责用户的输入调用模型和视图完成的用户的请求,

---

MTV 模型:

model (模型):负责业务对象与数据库(ORM)

template (模板); 负责前端页面的数据显示

view (视图): 业务逻辑,调用template与model

请求 流程:

客户端发起请求,经过wsgi,url匹配到路径,调用对应的view函数, view执行逻辑代码,到数据库model 增删改查数据,model从数据库拿到数据后,返回给view,view再给template进行渲染显示,用户得到数据,请求结束。

==================

django的命令工具

创建一个django项目

,找到要在那个文件下创建,右键打开cmd,  执行 django-admin startprojiect mysite(项目名称)

mysite文件里包含了manage.py 是与django进行交互的命令脚本文件,

再项目里创建一个应用  python manage.py startapp app01 .,如果允许次应用 python manage.py runserver 8800(端口)

========

关于视图函数的返回值

from django.shortcuts import render ,redirect ,HttpResponse

return HTTPResponse(‘登录成功’)  ,HttpResponse是一个类,实例化一个是一个字符串,

return render(request ,‘index.html‘,)  render 渲染的字符串(源代码显示HttpResponse),request参数必须要有,不走路径,、

return redirect(‘/index/’)是跳转,要走一次视图函数index ,走一次路径,

=====

url.py  中,controller控制着路由分发,

列表是元组形式,可以有多个,前面是正则匹配,后面是映射路由函数,

^ 是以什么开头,$ 是以什么结尾,不写  ^  就是包含的意思,

urlpatterns = [

    url(r‘^index/$‘,view.index ),

    url(r ‘ (\d{4})/$‘ ,year_query) ,(无名分组匹配,(\d{4})会作为一个参数传给year_query,所以在views.py文件中 写year_query函数时,要传一个参数(request,\d{4})

    url (r ‘(?P<year>\d{4}/?P<month>\d{2})‘,year_query),(有名分组,传参时不用考试位置,

  ]

urlpatterns =[ url (正则表达式,view视图函数,参数,别名),]

url 的别名应用

urlpatterns = [url (r‘^reg/‘,regs,name=register,],,当url的路径更改时,视图函数的名字不需要更改,register别名对应新url的名字,也就是,路径原来是reg ,现在改成了register, 视图函数的别名还是可以映射,继续执行,

======

include  路由分发

当一个项目中,有多个应用,多个APP,每个APP都有自己url,就可以写到自己的url.py 文件中,用到include,

在全局的url.py 文件中,

from django.conf.urls import url.include

urlpatterns = [

  url (r ‘^blog/‘,include(‘blog.urls‘)),

]  blog 是一个应用,匹配到blog,分发找到blog下面的url

=====

view 视图函数,包含了2个对象,request,和 response,

template 模板包含了 {{  变量  }}   ,{%   标签  %},

{% for %}

{% end %}

{%if    %}

{% elif    %}

{% endif %}

模板语言的深度查询  句点号  .  点   在python语言中,用【】取每一个值, template 用 点 .

时间: 2024-10-11 00:56:16

django 模型,项目与应用的创建 ,url,views,template ,controller的相关文章

Django在Win7下安装与创建项目hello word示例

Django在Win7下的安装及创建项目hello word的例子 有关python 的django 框架安装与开发的小例子.Django在Win7下的安装及创建项目hello word.1.安装:命令如下:pip install Django==1.6.5 2.创建项目django-admin.py startproject web 修改 urls.pyurl(r'^blog/index/$','blog.views.index'), 3.创建工程:django-admin.py starta

Django项目实践3 - Django模型

http://blog.csdn.net/pipisorry/article/details/45061579 上篇:Django项目实践2 - Django模板 Django 模型 {数据和逻辑能够彻底地分开} Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.Django 为这些数据库提供了统一的调用API. 1.在 Django 中使用 MySQL MySQL 是 Web 应用中最常用的数据库.下面将以 Mysql 作为实例进行

django复习-1-环境搭建和创建项目

一.虚拟环境搭建 1. 创建虚拟环境,需要联网 mkvirtualenv django_py3_1.11 -p python3 2. 安装Django 使用django 1.11.11版本,注意需要联网 pip install django==1.11.11 3.创建django工程 django-admin startproject demo(工程名称) 4.工程目录说明 与项目同名的目录,此处为demo. settings.py 是项目的整体配置文件. urls.py 是项目的URL配置文件

Django模型-数据库操作

前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开始,进入到了Django模型,也就是数据库操作. 自带 Sqlite3 数据库查询方式 为了简单,使用Python自带的Sqlite3数据库进行实例说明. 先看一个传统的数据库操作示例: 1 from django.shortcuts import render 2 import sqlite3 3

4Python全栈之路系列之Django模型

Python全栈之路系列之Django模型 MTV开发模式 把数据存取逻辑.业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的Model-View-Controller(MVC)模式.在这个模式中,Model代表数据存取层,View代表的是系统中选择显示什么和怎么显示的部分,Controller指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分. Django紧紧地遵循这种MVC模式,可以称得上是一种MVC框架. 以下是Django中M.V和C各自的含义: **M**: 数

Django模型学习 --python的web开发

django是一个比较老牌而且功能也很强大的框架,虽然它有很多缺点,但还是决定先从这个框架入手学习.本系列是一个简单的学习笔记,供以后参考. 网站的后台原来是用PHP的CodeIgniter框架写的,数据库只有4个表,涉及最基本的产品的增删查改和切图等操作.现在换用django后,所有后台包括模板都得重写.虽然看起来工作量很大,但实际做起来也就花三天学了下django,然后再用三天把所有后台重写(不包括部署到蛋疼的SAE的繁琐过程),可见django的开发效率是如此之高. 1. 引言 1.1 简

Python django框架笔记(三):django工作方式简单说明和创建用户界面

(一)  说明 简单说明下django的工作方式,并举2个例子. (二)  Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和static目录(存放图片JS.css等) (三)   实现一个完整的用户界面 #假设已经创建好了项目和应用.下面URLconf和视图函数没什么先后关系,根据自己喜好,你可以先写视图函数,也可以先定义URLconf. 有下面几个步骤 (1)   创建模型 (2)   定义项目的URLconf(mysi

django 模型——model 字段

Django 通过 models 实现数据库的创建.修改.删除等操作 模型中一般常用的类型的清单 AutoField 一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model. BooleanField: 布尔字段,管理工具里会自动将其描述为checkbox. CharField: 字符串字段,单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField,CharField有一个必填参数: Char

Django - 模型(model)-- ORM

一.ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用 ORM由来 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational). 几乎所有的软件开发过程中都

Django模型层之单表操作

Django模型层之单表操作 一 .ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql.oracle.Microsoft SQL Server等. 如果应用程序需要操作数据(比如将用户注册信息永久存放起来),那么我们需要在应用程序中编写原生sql语句,然后使用pymysql模块远程操作mysql数据库,详见图一^①^ 但是直接编写原生sql语句会存在两方面的问题,严