Django 介绍:

  django是一个采用Python语言开发的开源框架,2005年发布。早期是做新闻以及内容管理的网站的,提供了非常强大的后管理系统。

  django官网:https://www.djangoproject.com

  框架模式:

    djando的框架模式 - MTV:

      M (Models)-------> 模型层:负责数据库的建模以及CRUD(增删改查)操作;

      T (Templates)--------> 模板层:用于处理用户显示的内容,比如HTML;

      V (Views)--------> 视图层:处理与用户交互的部分操作,从模型中获取数据,再将数据发送给模板,并显示给用户。

    ps: MTV是属于django的一种框架模式,除了MTV之外还有一个比较出名的模式--MVC;

    MTV和MVC的功能做一个简单对应,如下:

      M - - - - - - M(Models):模型层

       T - - - - - - V(Views):视图层

       V - - - - - - C(Controllers):控制层

    下面有一张MTV模式的框架图:

    

Django安装

  ps:ubuntu系统

  一、先查看是否已安装Django,

    在终端中进入python3的交互模式,导入django;如果成功,输入一下命令查看版本

    django.VERSION

  二、开始安装

    1、在线安装

      sudo pip3 install django (默认安装最高版本)

      sudo pip3 install django==1.11.8 (指定安装版本为1.11.8)

      ps:这里根据自身需求

    2、离线安装

      1). 先到官网下载所需的Django安装包

      2). 在环境中解压Django包

         tar -xvf Django-1.11.8.tar.gz

      3). 进入到解压出来的目录中进行安装

        sudo python3 setup install

 

Django的简单使用

  一、创建Django项目,在终端中输入如下指令:

    django-admin startproject 项目名

    例: django-admin startproject mytext

  二、启动服务并访问网站

    使用manage.py文件来启动服务,如下:

    python3 manage.py runserver

    ps:也可以使用./manage.py runserver 启动,但是如果你使用的是python3,需要进入manage.py文件中,将第一行改为 #!/usr/bin/env python3(已经是则不用改)

Djanogo项目的结构

  一、manage.py ---->负责执行Django中的各项操作文件:

    如:

    启动服务、创建管理员、创建应用、数据库的同步操作等....

 二、主目录(名称同项目名)

    1、__init__.py

      项目的初始化文件,服务启动时,会自动执行。

    2、urls.py

      项目的基础url配置文件

    3、wsgi.py

      应用服务器配置文件

    4、settings.py

      项目的猪设置文件,下面介绍settings.py文件中的一些重要变量的含义:

      BASE_DIR: 获取当前项目的根目录路径

      DEBUG:调试模式,开发过程中推荐使用True,上线运行推荐是False

      ALLOWED_HOSTS:设置允许访问本项目的地址列表,默认为空,表示只能本地,* 表示任何地址

      INSTALLED_APPS:指定已安装的应用,如果有自己创建的应用,需要在这进行注册

      MIDDLEWARE:指定注册的中间件

      ROOT_URLCONF:指定项目的基础路由配置文件

      TEMPLATES:指定模板的信息

      DATABASES:指定数据库的信息

      LANGUAGE_CODE:指定网站显示的语言,中文(zh-Hans)

      TIME_ZONE:指定时区,中国时区(Asia/Shanghai)

  URL的使用

    1、urls.py(文件)

      默认是在主目录中,主路由配置文件,会包含最基本的地址映射;每个请求到达之后

    都会由urls.py文件中urlpatterns列表的url进行匹配;url()函数匹配上之后,可能交给其他

    urls.py文件或者视图(views)处理。

    2、url()函数

      语法:url(regex, views, kwargs=None, name=None)

      regex:正则表达式,匹配请求的url

      views:视图处理函数或者其他urls.py文件

      kwargs:字典,用来向views传参

      name:字符串,给url起别名.

      

    3、通过 url 向 views 传参

      1).使用正则表达式传参
      使用子组传参,一个子组是一个参数,想要多个参数的话,可以使用多个子组
      子组 - ()
      urlpatterns = [
        #访问路径是run/的时候,交个run_views去处理
        url(r'^run/$',run_views),
        #访问路径是run/任意两位数字,交给run_args_views去处理
        url(r'^run/(\d{2})',run_args_views),
        #访问路径是run/四位数字/两位数字/,交给run1_views处理
        url(r'^run/(\d{4})/(\d{2})/$',run1_views),
      ]
      ps:
        1、在url()中,一个子组()表示一个参数
        2、在views.py中,对应的处理函数要根据url()中子组的个数,相应的定义参数,定义的参数要位于request之后
        例子:
        1、url(r'^run/(\d{2})',run1_views),

          def run1_views(request,num)
        2、url(r'^run/(\d{2})/(\d{4})',run2_views)

          def run2_views(request,num1,num2)

    4、使用url()第三个参数,字典传参
      url(r'^show/$',show_views,{'name':'laoshe','age':'89'})

      def show_views(request,name,age):
      name:表示的就是字典name参数的值
      age:表示的就是字典age参数的值
      ps:
        1、视图处理函数中,必须声明参数
        2、参数的名称和位置,必须要与字典中的名称和位置保持一致

   

    

python+Django框架运用(一)的更多相关文章

  1. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  2. 利用 Python django 框架 输入汉字,数字,字符,等。。转成二维码!

    利用 Python django 框架 输入汉字,数字,字符,等..转成二维码! 模块必备:Python环境 + pillow  + qrcode 模块 核心代码import qrcode qr = ...

  3. Python Django框架笔记(五):模型

    #前言部分来自Django Book (一)    前言 大多数web应用本质上: 1. 每个页面都是将数据库的数据以HTML格式进行展现. 2. 向用户提供修改数据库数据的方法.(例如:注册.发表评 ...

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

    (一)  说明 简单说明下django的工作方式,并举2个例子. (二)  Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...

  5. Python Django框架笔记(一):安装及创建项目

     #推荐一本书<Python核心编程>(适合有一定基础的),美国人Wesley Chun编写的,京东.淘宝应该都有.我是觉得写的很好,详细.简洁.满满的干货,不像有的书整本看完也没什么用. ...

  6. python django框架(一)

    s4day63内容回顾: 1. 安装 2. 创建用户 + 授权 3. 连接 - 数据库 终端创建数据库(字符编码) - 数据表 终端 ORM pymysql create ...)engine=inn ...

  7. [Python] Django框架入门5——静态文件、中间件、上传图片和分页

    说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文 ...

  8. python Django框架正式准备工作

    之前由于不太了解数据库方面的知识,但经过一段时间的web应用的开发学习,成功的用其他框架连接了数据库,并完成了相关操作,数据爬取也初识了,更了解了python这门语言的语法,但路还很长,因此现在才能正 ...

  9. python django框架+vue.js前后端分离

    本文用于学习django+vue.js实现web前后端分离协作开发.以一个添加和删除数据库书籍应用为实例. django框架官方地址:https://www.djangoproject.com/ vu ...

  10. Python Django框架笔记(六):模板

    (一){%%}和{{ }} {% for post in posts %} <a href=""><h2>{{ post.title }}</h2&g ...

随机推荐

  1. golang学习资料[Basic]

    http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/index.html 基础语法 <Go By Exa ...

  2. Setting up Unicorn with Nginx

    gem install unicorn or gem 'unciron' 1 install Nginx yum install ... 2 Configuration vi /etc/nginx/n ...

  3. iOS开发中id、NSObject *、id、instancetype四者有什么区别?

      在使用Objective-C语言进行iOS应用开发的时候,常常会涉及到id.NSObject *.id.instancetype这四个概念的使用,但这四者也是iOS初学者最易混淆的内容,下面小编看 ...

  4. Python3设置在shell脚本中自动补全功能的方法

    本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能. 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发的效率. 方法 ...

  5. IIS7.5 配置虚拟目录的经历

    好多网站为了不带上什么端口号所有就建立虚拟目录的试来使用80端口 iis6设置都没有问题可到了7.5碰到了点问题 原来7.5上有个:添加应用程序和添加虚拟目录.还有个转换为应用程序 直接把网站建成虚拟 ...

  6. 从经典面试题看java中类的加载机制

    1.概述 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行,对理解java虚拟机的连接模型和java语言的动态性都有很大帮助. 由于Ja ...

  7. hdu-4283 You Are the One 区间dp,

    题意:n个人排队上台,每个人有一屌丝值D,他的不满意值=D*(k-1)(k为他前面的总人数). 求整个队列不满意值之和的最小值.你只有一个操作,就是把队首的人塞进小黑屋,也就是压入栈中,后面的人就被提 ...

  8. Ubuntu 16.04配置国内高速apt-get更新源

    https://www.linuxidc.com/Linux/2017-11/148627.htm Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换到国内比较好的快速更 ...

  9. VIM 文件编码识别与乱码处理(转载)

    在 Vim 中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding 和 termencoding.在实际使用中,任何一个选项出现错误,都会导致出现乱 ...

  10. 1067 - Combinations---LightOj(Lucas求组合数)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1067 模板求C(n,m)%p, Lucas模板; #include <iostr ...