1、Python工具 - pip
  1、作用
  Python的软件包管理器,有一些python包被集成到了pip中。只要被集成到pip中的包,都允许通过pip直接安装
  2、安装 pip
sudo apt install python-pip (python2)
sudo apt install python3-pip (python3)
  3、使用 pip / pip3
    1、安装/更新/删除 python包
  1、安装python包
    sudo pip3 install SomePackage
  ex:
    sudo pip3 install pymysql==0.7.11
  2、下载 python 包
  sudo pip3 download SomePackage
  3、删除 python 包
  sudo pip3 uninstall SomePackage
  4、更新(升级)python包
    sudo pip3 upgrade SomePackage
  2、查看当前环境中所安装的包
    pip3 list
  3、搜索
    pip3 search SomePackage
  4、展示
    pip3 show SomePackage
  5、记录现有环境的python包
    1、pip3 freeze > requirements.txt
    将当前python环境中所安装的内容打包成一个列表
    2、pip3 install -r requirements.txt
    允许在当前系统下,逐一安装requirements.txt中所列出的内容

2、Python工具 - VirtualEnv
  1、什么是VirtualEnv - 虚拟环境
VirtualEnv,是Python中的虚拟环境,在做Python应用开发时,如果不想在大的Python环境中安装各种各样的包的话,则可以虚拟出一个Python环境,可以让虚拟环境专门为某一个应用而存在。允许在虚拟环境中安装各种包且不影响大的python环境
  2、安装 VirtualEnv
sudo pip3 install virtualenv
  3、创建 和 使用 虚拟环境
1、准备工作
mkdir my_env
cd my_env
2、创建虚拟环境
virtualenv 虚拟环境名称
ex:virtualenv default

创建指定版本的虚拟环境
virtualenv -p /usr/bin/python2.7 名称
virtualenv -p /usr/bin/python3.5 名称
3、启动虚拟环境
注意:不能在 bin 目录中启动虚拟环境
source bin/activate
4、退出虚拟环境
deactivate
5、删除虚拟环境
rm 虚拟环境目录 -rf

注意:
在虚拟环境中使用pip安装和卸载内容时,不要使用 sudo 进行授权
4、虚拟环境管理工具 - VirtualenvWrapper
1、作用
第三方的管理工具,能够快速,高效而且方便的管理虚拟环境
2、安装虚拟环境管理工具
sudo pip3 install virtualenvwrapper
3、配置 virtualenvwrapper
  在~目录下,有一个终端管理文件 .bashrc (在~目录下,输入 ll)
  配置 .bashrc ,以便在启动终端时,就自动启动虚拟环境管理工具
  修改.bashrc : sudo vi .bashrc
  在 .bashrc 最底部增加以下内容:
1、export WORKON_HOME=~/my_env
  将 ~/my_env 作为虚拟环境的管理目录,所有使用virtualenvwrapper创建的虚拟环境都默认保存于此
2、如果系统中包含多个python执行环境的话,则添加以下内容
  export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
3、source /usr/local/bin/virtualenvwrapper.sh
4、在 ~ 目录下,执行一遍 .bashrc
  source .bashrc
4、使用虚拟环境管理工具
1、创建并进入虚拟环境
1、mkvirtualenv 虚拟环境名称
ex: mkvirtualenv default
2、
mkvirtualenv --python=/usr/bin/python2.7 虚拟环境名称
2、查看当前所维护的所有虚拟环境
workon
3、切换虚拟环境
workon 虚拟环境名称
4、退出虚拟环境
deactivate
5、删除虚拟环境
rmvirtualenv 虚拟环境名称

练习:
1、完善 .bashrc 文件
2、创建一个虚拟环境 - env3.5
2.1 、创建 python3.5 虚拟环境
3、完成 虚拟环境的操作
1、切换到 env2.7
workon env2.7
2、退出虚拟环境
deactivate
3、再进入到 env3.5
workon env3.5

3、WEB 与 服务器
  1、WEB :表示用户可以浏览的网页(HTML,CSS,JS)
  2、服务器
1、硬件 与 软件
硬件范畴:一台主机
软件范畴:一个能够接受用户请求并给出响应的程序
2、作用
1、存储WEB上的信息(网页,图片,音视频,css)
2、能够处理用户的请求(request)并给出响应(response)
3、能够执行服务器端程序:如查询数据库
3、WEB与服务器的关系
参考图 - WEB与服务器的关系
运行在服务器端的程序,可以由不同的语言来编写:
Java语言 -> JSP
C#语言 -> ASP.NET
php语言 -> php
Python语言 -> Django

4、网站请求的全过程
1、用户:输入域名,通过域名解析(DNS)器得到IP地址
2、向服务器发送http/https请求
3、传输层TCP协议,经过网络传输和路由解析
4、WEB服务器接收HTTP请求
5、服务器处理请求内容,并进行必要的数据交换
6、将响应的内容发回给浏览器(响应)
7、浏览器解析HTML
8、显示解析好的内容

4、框架
1、什么是框架
框架是一个为了解决某些开放性问题而存在的一种结构。框架提供了最基本的功能,我们只需要在这些基本功能的基础上构建自己的操作就可以了。
2、框架的优点
  1、快速开发 - 基本功能已经提供好了
  2、可以解决大部分问题
  3、bug少,稳定性较高
3、框架的分类
  1、前端框架
处理前端内容(HTML,CSS,JS)
  2、后端框架
处理服务器程序的
Spring - Java
  3、全栈框架
包含WEB整体的解决方案,包含开发框架,运行环境
Rails (Ruby)

Django(Python)
4、Python的WEB框架
1、Django :重量级的Python Web 框架
2、Tornado :异步框架
3、Flask :轻量级框架
4、Webpy :轻量级框架
5、Web2py :全栈框架,webpy的加强版

=================================================
1、设计模式 与 框架模式
  1、设计模式
设计模式,是一套被反复使用,多数人知晓并经过分类的代码设计经验的总结,是为了解决一些通用性问题的
目的:重用代码并保证代码的可靠性
官方认证的设计模式有23种:单例模式,抽象工厂模式,观察者模式 -- 《大话设计模式》
  2、框架模式
代码的重用,框架模式是解决如何设计程序框架的代码,在框架模式中会包含多种的设计模式
如:MVC,MTV,MVVM,ORM,... ...
  1、MVC
M :Models,模型层
在程序中主要处理数据,负责在数据库中对数据进行存取操作(CRUD)
V :Views , 视图层
应用程序中处理显示的部分内容(html,jsp)
C :Controllers , 控制器层
处理用户交互的部分,通常负责从模型中取出数据,再进行业务的处理,最后将数据给视图,并将视图给客户端
  2、MTV
M :Models 模型层,功能同上
T :Templates 模板层
用于处理用户显示的部分内容,如:html
V :Views 视图层
处理用户交互部分,从模型中获取数据,再将数据给模板,再显示给用户

M --- M
V --- T
C --- V

2、Django框架
  1、什么是Django
  是一个开源框架,2005年发布,采用Python语言开发的。早期Django是做新闻网站的。提供了非常强大的后台管理系统,采用的是MTV的框架模式
  2、Django的优缺点
    1、优点
      1、开源框架,有完美的文档支持
      2、解决方案比较完整,内部功能也比较多
      3、提供完整的路由系统,优雅的URL解析方式
      4、自助式的后台管理
    2、缺点
      目标:高内聚,低耦合
      耦合度偏高
3、Django的安装
  1、Linux 中的安装
  1、查看已安装的django
1、进入到虚拟环境中
2、进入到python的交互模式
3、在交互模式中输入
  1、import django
2、django.VERSION
2、安装
1、在线安装 - 使用 pip
1、终端中输入
  pip install django
(安装django的最高版本)

  pip install django==1.11.8

虚拟环境中不用 sudo
2、离线安装
1、下载所需要的django包
https://www.djangoproject.com/
2、在 Linux 中解压 django
  tar -xvf Django-1.11.8.tar.gz
3、进入到Django文件夹中
4、安装
  python setup.py install
2、Windows 中的安装
1、在线安装
控制台中
  pip3 install django==1.11.8
2、离线安装
1、下载django安装包
2、解压django包
3、进入到django包中
python setup.py install
4、使用Django
  1、创建Django项目
直接使用 django-admin 去创建Django项目
  1、找到项目文件夹(自定义)
  2、使用 django-admin 指令
    django-admin startproject 项目名称
  2、启动Django项目
    1、进入到项目文件夹中
    2、通过 manage.py 启动项目
1、
python manage.py runserver

./manage.py runserver
只能在本机访问
http://localhost:8000
http://127.0.0.1:8000
2、
./manage.py runserver 0.0.0.0:8000
允许在局域网内访问,可以通过IP地址访问

ex:
1、启动服务
./manage.py runserver 0.0.0.0:8000
2、查看 虚拟机 IP地址
ifconfig
3、在windows中,打开chrome浏览器,通过IP地址访问django项目

5、Django结构介绍
1、manage.py
  负责执行django中的各项操作的文件
命令脚本文件
如:
1、启动服务
2、创建应用
3、创建管理员、用户
... ...
2、主文件夹(名称与项目名称相同)
  存放项目的最基础的配置文件
1、__init__.py
项目初始化文件,每当服务器启动的时候,会自动执行
如果有自定义的初始化操作,需要放在该文件中
2、urls.py
  项目的基础url(路由)配置文件
  路由:去哪找执行的程序
3、wsgi.py
  配置应用服务器的文件,暂时不用
4、settings.py(重要)
  项目的主设置文件:应用,模板,数据库,语言,时区,... ...
  1、BASE_DIR :项目所在的绝对路径
  2、DEBUG :调试模式
    开发过程中,推荐使用 True
    上线运行时,必须改为 False
3、ALLOWED_HOSTS
  设置允许访问本地项目的地址列表,如果不设置的话,只有本机(localhost / 127.0.0.1访问)。推荐些 '*' ,表示任何机器都允许访问当前项目
4、INSTALLED_APPS
  指定已安装的应用,如果有自定义应用的话,需要在此注册
5、MIDDLEWARE :注册中间件
6、ROOT_URLCONF :指定项目的基础路由配置文件
7、TEMPLATES :指定模板的信息
8、DATABASES :指定数据库的信息
9、LANGUATE_CODE : 指定语言,允许修改为 zh-Hans
10、TIME_ZONE :指定时区,建议改为 Asia/Shanghai

6、settings的加载流程
  1、先加载global_settings
    位于:虚拟环境/lib/python3.5/site-packages/django/conf
  2、再加载项目中的settings
    注意:如果 global_settings中的内容与项目settings中的内容冲突的话,优先使用项目的settings中的内容

7、初识 django-admin 和 manage.py

  1、终端中直接输入 django-admin
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject #创建项目
test
testserver

  2、进入到项目主文件夹,输入./manage.py
[auth]
changepassword #修改密码
createsuperuser #创建超级用户

[contenttypes]
remove_stale_contenttypes

[django]
check
compilemessages
createcachetable
dbshell #进入到Django数据shell交互模式
diffsettings
dumpdata
flush
inspectdb #将数据表直接导出为Models
loaddata
makemessages
makemigrations #创建数据库日志文件,记录Models的改动
migrate #将数据库日志文件同步到数据库中
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp #创建应用
startproject
test
testserver

[sessions]
clearsessions

[staticfiles]
collectstatic
findstatic
runserver #启动服务

8、URL的使用
  1、urls.py
    默认在主文件夹中,包含所有的地址映射。
    每当一个请求产生后,都会到urls.py中进行地址的匹配,匹配上后再找到对应的处理程序(View视图)去执行
  2、测试
    1、项目主文件夹中,创建 views.py
    作用:包含所有定义好的视图(处理程序)
  views.py :
from django.http import HttpResponse

def fun_views(request):
return HttpResponse('Hello Django')
    2、在 urls.py 中追加
from .views import *
urlpatterns = [
url(r'^admin/',admin.site.urls),
url(r'^fun/$',fun_views),
]

  3、url 函数
  url函数的语法
url(regex,views,kwargs=None,name=None)
  1、regex
  正则表达式,匹配请求的 url
  2、views
  URL处理的视图函数,通常都是自定义的
  3、kwargs
  字典,用来向views传参的
  4、name
  字符串,给url()起一个别名,主要在模板中配合{%url%}一起使用
4、url 向 view 传参
  1、使用正则表达式传参
使用正则表达式的子组传参,使用()

urlpatterns = [
#访问路径必须是 fun
url(r'^fun/$',fun_views),
#访问路径必须是 fun
url(r'^(fun)/$',fun_views),

url(r'^fun/(\d+)',fun_arg1_views),
]
注意:
  1、在 url() 中,一个子组()表示一个参数
  2、在views.py中,对应的处理函数要根据url()中子组的个数,相应的定义参数,定义的参数要位于 request之后
练习:
1、访问地址:localhost:8000/18/0223/15
如何获取 18 0223 15
2、访问地址
localhost:8000/zh/0223
localhost:8000/jp/0223

如何获取 zh(jp),0223
定义 url() 匹配模式 以及 views 的处理函数
2、使用url()第三个参数,字典传参
urlpatterns = [
url(r'^showname/$',show_views,{'name':'zsf','age':'25'}),
]

views.py
def show_views(request,name,age):
resp = HttpResponse(name+":"+age)
return resp
注意:
1、视图处理函数中,必须声明参数
2、参数的名称 和 位置 必须要与字典中的名称和位置保持一致

3、Django 中的应用
1、什么是应用
应用是网站中的一个独立的模块,包含独立的显示信息。
在项目主文件夹中一般不处理其他的请求,主要就做初始化设置 以及 地址的分发
实际操作中,会将请求,交给不同的应用去处理
2、创建应用
1、命令
./manage.py startapp 应用名称
ex:
创建一个应用,名称为 index
2、在 settings.py中注册应用
在 INSTALLED_APPS 中追加应用名称即可
INSTALLED_APPS = [
'django.contrib.admin',
... ...,
'index',
]
3、应用的结构组成
1、migrations 目录
存放数据库日志文件,是一个django与数据库交互的中间文件
2、__init__.py
应用的初始化操作文件
3、admin.py
应用的后台管理配置文件
4、apps.py应用的属性设置文件,不需改动
5、models.py
Models模型文件
6、tests.py
测试模块,通常不用
7、views.py
定义视图的py文件
练习:
创建应用,并进行注册
在 day2_exer 中创建应用
1、index
2、news - 表示新闻的应用
3、sports - 表示体育的应用
4、musics - 表示音乐的应用

python-django-01的更多相关文章

  1. python Django教程 之 安装、基本命令、视图与网站

    python  Django教程  之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...

  2. Python+Django+Eclipse 在Windows下快速开发自己的网站

    一.配置开发环境 我的开发环境是:Python3.3.2 + Django1.5.2 + Eclipse 1.安装Python 下载地址:http://www.python.org/getit/ 安装 ...

  3. 跟我一起Django - 01 安装和初始化

    跟我一起Django - 01 安装和初始化 python环境 C:\Python27\Lib\site-packages>python --versionPython 2.7.5 安装setu ...

  4. Python+Django+SAE系列教程17-----authauth (认证与授权)系统1

    通过session,我们能够在多次浏览器请求中保持数据,接下来的部分就是用session来处理用户登录了. 当然,不能仅凭用户的一面之词,我们就相信,所以我们须要认证. 当然了,Django 也提供了 ...

  5. Python网络01 原始Python服务器

    原文:Python网络01 原始Python服务器 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人 ...

  6. python Django知识点总结

    python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创 ...

  7. [python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

    1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py   1. ...

  8. Python Django 学习 (二) 【Django 模型】

    注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information ...

  9. Django 01 django基本介绍及环境搭建

    Django 01 django基本介绍及环境搭建 #http服务器 #用来接收用户请求,并将请求转发给web应用框架进行处理 #Web应用框架 #处理完请求后在发送给http服务器,http服务器在 ...

  10. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

随机推荐

  1. hive -- 自定义函数和Transform

    hive -- 自定义函数和Transform UDF操作单行数据, UDAF:聚合函数,接受多行数据,并产生一个输出数据行 UDTF:操作单个数据 使用udf方法: 第一种: add jar xxx ...

  2. SQL server 2012安装中出现的INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值问题

    出现的问题如下: INSTALLSHAREDDIR 和 INSTALLSHAREDWOWDIR 参数具有相同的值“D:\soft\sql”.但是,这些参数必须具有不同的值.请为其中一个参数指定不同的值 ...

  3. C#对XML操作类

    C#对XML操作类 该类包含了对XML文件的创建,添加,读取,删除,修改等操作 //#define isUnity #if isUnity using UnityEngine; #endif usin ...

  4. python中的turtle库(图形绘画库)

    turtle绘图的基础知识:1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 turtle.screensize(canvwidt ...

  5. js中浅拷贝和深拷贝以及深拷贝的实现

    前言:2019年的第一篇分享... 一.什么是基本类型值和引用类型值?ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型.基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构 ...

  6. c++面试题一

    c++面试题 1.是不是一个父类写了一个virtual函数,如果子类覆盖他的函数不加virtual, 也能实现多态? virtual 修饰符会被隐形继承的. private也被集成,只事派生类没有访问 ...

  7. 最长公共子串和子序列的Python实现,带图示。

    使用矩阵来记录两个子串之间各个字符之间的对应关系. 最长子串:矩阵中数字最大的就是最长子串的长度.若对应位置字符相同,则c[i][j] = c[i-1][j-1] + 1 def longSubStr ...

  8. seo相关知识

    网络营销菜鸟SEO入门必杀技(转载:http://blog.sina.com.cn/s/blog_5ef0fe8b0100n9cw.html) 搜索引擎优化(Search Engine Optimiz ...

  9. taotao商城遇到的问题

    1,在进行测试的时候,访问:http://localhost:8080/taotao-manager-web/ 可以出现首页 2,做了mybatis逆向工程之后,整合了spring,mybatis,测 ...

  10. 第十五周翻译-《Pro SQL Server Internals, 2nd edition》

    <Pro SQL Server Internals, 2nd edition> 作者:Dmitri Korotkevitch 翻译:赖慧芳 译文: 55-58页 第三章 统计 SQL Se ...