• Django之Django简介,开发环境搭建,项目应用创建


    软件及Django框架简介

    软件框架

    • 一个软件框架是由其中各个软件模块组成的;
    • 每一个模块都有特定的功能;
    • 模块与模块之间通过相互配合来完成软件的开发。

    软件框架是针对某一类软件设计问题而产生的。

    MVC框架

    施乐公司 帕罗奥多研究中心 smalltalk语言 simula 67
    软件设计模式:

    • MVC的产生理念: 分工。让专门的人去做专门的事--输入,处理,输出
    • MVC的核心思想: 解耦

    通过浏览器注册用户信息理解MVC框架。

    • M: Model,模型, 和数据库进行交互;
    • V: View,视图, 产生html页面;
    • C: Controller,控制器, 接收请求,进行处理,与M和V进行交互,返回应答。

    MVT简介

    Django 劳伦斯出版集团 新闻内容网站。Python--->MVC
    快速开发和DRY原则。Do not repeat yourself.不要自己去重复一些工作。

    通过浏览器注册用户信息理解MVT框架。

    • M:Model,模型, 和MVC中M功能相似,和数据库进行交互;
    • V: View,视图, 和MVC中C功能相似,接收请求,进行处理,与M和T进行交互,返回应答;
    • T: Template,模板, 和MVC中V功能相同,产生HTML页面。

    Django简介

    Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。

    劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。

    由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者。

    Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。

    django官方网站:https://www.djangoproject.com/
    django源码:https://github.com/django/django

    Django框架遵循MVC设计,并且有一个专有名词:MVT框架。

    Django开发环境搭建

    虚拟环境的安装

    • 之前安装python包的命令: sudo pip3 install 包名;
    • 包的安装路径:/usr/local/lib/python3.5/dist-packages;
    • 安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。
    • 解决的方案就是:虚拟环境。
    • 虚拟环境是真实python环境的复制版本。
    • 在虚拟环境中使用的python是复制的python,安装包也是安装在复制的python中。

    安装虚拟环境的命令
    1)sudo pip install virtualenv #安装虚拟环境
    2)sudo pip install virtualenvwrapper #安装虚拟环境扩展包
    3)编辑家目录下面的.bashrc文件,添加下面两行。

    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh

    4)使用source .bashrc使其生效一下。

    示例:

    python@ubuntu:~$ pwd
    /home/python
    python@ubuntu:~$ vi .bashrc
    
    // 添加上面两行内容
    python@ubuntu:~$ source .bashrc
    
    python@ubuntu:~$ mkvirtualenv -p python3 cp15
    (cp15) python@ubuntu:~$ deactivate
    python@ubuntu:~$ workon cp15
    (cp15) python@ubuntu:~$ pip install django==1.8.2

     虚拟环境的创建和使用

    创建虚拟环境命令:mkvirtualenv 虚拟环境名
    创建python3虚拟环境:mkvirtualenv -p python3 cp15
    进入虚拟环境工作:workon 虚拟环境名
    查看机器上有多少个虚拟环境:workon 空格 + 两个tab键
    退出虚拟环境:deactivate
    删除虚拟环境:rmvirtualenv 虚拟环境名
    
    
    虚拟环境下安装包的命令:pip install 包名
    注意:不能使用sudo pip install 包名,这个命令会把包安装到真实的主机环境上而不是安装到虚拟环境中。
      apt-get install 软件
      pip install python包名
    安装django环境:pip install django==1.8.2
    
    查看虚拟环境中安装了哪些python包:
      pip list
      pip freeze(和list的区别在于会少几个包,在网站上线的时候会使用该命令)

    注意,在虚拟环境中编辑和创建文件不只是放在虚拟环境中,外部也有,虚拟环境只是决定那些包安装在哪。
    创建虚拟环境时,虚拟机要联网。

    Django项目和应用创建

    项目创建

    创建项目命令:

    django-admin startproject 项目名

    注意:创建应用必须先进入虚拟环境。

    项目目录及作用如下:

    __init__.py: 说明test1是一个python包。
    settings.py: 项目的配置文件;
    urls.py: 进行url路由的配置;
    wsgi.py: web服务器和Django交互的入口;
    manage.py: 项目的管理文件;

    应用创建

    一个项目由很多个应用组成的,每一个应用完成一个特定的功能。
    创建应用命令如下:

    python manage.py startapp 应用名

    注意:创建应用时需要先进入项目目录。

    应用目录及作用如下:

    __init__.py: 说明目录是一个python模块;
    models.py: 写和数据库相关的内容;
    views.py: 接收请求,进行处理,与M和T进行交互,返回应答;
    定义处理函数,视图函数。
    tests.py: 写测试代码的文件;
    admin.py: 网站后台管理相关的文件;

    建立应用和项目之间的联系,需要对应用进行注册。
    修改settings.py中的INSTALLED_APPS配置项。

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        '应用名',
    )

    运行开发web服务器命令:

    python manage.py runserver

    Django项目和应用创建示例:

    python@ubuntu:~$ workon cp15
    (cp15) python@ubuntu:~$ mkdir day01
    (cp15) python@ubuntu:~$ cd day01
    
    (cp15) python@ubuntu:~/day01$ django-admin startproject test1
    (cp15) python@ubuntu:~/day01$ ls
    test1
    (cp15) python@ubuntu:~/day01$ cd test1/
    (cp15) python@ubuntu:~/day01/test1$ tree
    (cp15) python@ubuntu:~/day01/test1$ ls
    manage.py test1
    
    (cp15) python@ubuntu:~/day01/test1$ python manage.py startapp booktest
    (cp15) python@ubuntu:~/day01/test1$ ls
    booktest manage.py test1
    (cp15) python@ubuntu:~/day01/test1$ cd booktest/
    (cp15) python@ubuntu:~/day01/test1/booktest$ tree
    .
    ├── admin.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
    
    1 directory, 6 files
    
    // 使用pycharm打开home/python/cp15/test1,在settings文件进行应用注册
    (cp15) python@ubuntu:~/day01/test1$ python manage.py runserver

    以后所有利用虚拟环境开发的项目,要在命令行对项目进行改动,都要先进入虚拟环境下再操作。

  • 相关阅读:
    java 中文排序 中文拼音排序 pinyin4j (怡,阿等) 拂晓风起
    jQuery 和 json 简单例子(注意callback函数的处理!!) (servlet返回json,jquery更新,java json) 拂晓风起
    推荐一个免费在线制作Banner的好地方
    Jquery焦点图/幻灯片效果 插件 KinSlideshow
    C#关于伪静态页面的两种实现方法
    cu3er 3D幻灯切换效果 div被遮住的解决方法
    推荐一个亲子教学网站,悟空学字
    怎么通过小米账号查出买家的手机号?
    添加网页桌面快捷方式的代码
    卖小米资格号怎么才不会受骗,怎么才不会淘宝退款?
  • 原文地址:https://www.cnblogs.com/yifchan/p/python-1-23.html
Copyright © 2020-2023  润新知