django 1

django 1

  • 开发环境的搭建
  • django 介绍
  • django 安装
  • git

开发环境的搭建

1.安装 pyenv    https://github.com/pyenv/pyenv-installer
 curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash


 vim ~/.bashrc  
    export PATH="~/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    将其写入最后   
 source ~/.bashrc 

 echo $PATH   #如果出现这个 /home/qulinx/.pyenv/shims  表示 pyenv 安装成功  

 pyenv update
 cd ~ 
 ls -al 
 .pyenv 


 pyenv install --list 
 pyenv versions  #查看已经安装的Python版本   

 下载软件包  Python-2.7.9.tar.xz  Python-3.6.4.tar.xz
 mkdir -p  ~/.pyenv/cache
把它放到  ~/.pyenv/cache 

pyenv install 3.6.4 -v #-v查看安装过程   
pyenv rehash 
pyenv global 3.6.4 

pyenv +virtualenv

两个产品 同时使用Python3.6 但是 a产品 使用的是 django 或者flask 1.0 b产品使用的是 djang 或者flask 2.0 为了让这两个产品同时在一个服务器上 运行 需要 pyenv + virtualenv 结合来使用

pip install virtualenv 
sudo pip install --upgrade virtualenv 


使用virtualenv  

1.创建项目目录  
  sudo mkdir -p ~/myproject/blog  

2.切换到项目目录  
  cd   ~/myproject/blog 

3.创建虚拟环境   
  pyenv virtualenv python版本号  虚拟环境名字   

4.pyenv activate 虚拟环境名字 
  (env36) qulinx@qulinx-virtual-machine:  #表示当前位于env36环境下  
  在这里可以安装 django 指定的版本  
  pip install django==2.0.2
5.pyenv deactivate env36   切出虚拟环境  


psm pip 默认从官网上下载软件  为了提高下载速度   psm 能够让pip从国内源下载 

pip install psm 

psm ls 列出所有国内源  

psm show 查看当前用的哪一个  

psm use douban  应用豆瓣 源  

virtualenv 问题

创建虚拟环境 首先需要创建 项目目录 如果说 不同的人创建项目目录 不在一个地方 不太好管理

需求 :所有的虚拟环境 统一在一个目录下

virtualenvwrapper 让管理虚拟环境 更加简单化

安装 virtualenvwrapper  

pip install virtualenvwrapper

vim ~/.bashrc

if [ -f /home/你的用户名/.pyenv/versions/3.6.4/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/home/你的用户名/.pyenv/versions/3.6.4/bin/python
    export VIRTUALENVWRAPPER_VIRTUALENV=/home/你的用户名/.pyenv/versions/3.6.4/bin/virtualenv
    source /home/你的用户名/.pyenv/versions/3.6.4/bin/virtualenvwrapper.sh

fi

source ~/.bashrc   




1.创建虚拟环境  
mkvirtualenv  虚拟环境的名字  
    mkvirtualenv my_env   
deactivate  退出虚拟环境  
lsvirtualenv  列出所有的虚拟环境 
rmvirtualenv 虚拟环境名字  #删除虚拟环境  
workon 虚拟环境名字  #切换到指定的虚拟环境    
workon 后面什么都不加  列出可以使用的 虚拟环境   
workon 虚拟环境名字  然后  cdvirtualenv  #切换到虚拟环境所在的目录  

创建虚拟环境的时候指定 Python版本
    mkvirtualenv --python=python路径  虚拟环境的名字     

windows virtualenvwrapper安装

pip install virtualenvwrapper-win  



mkvirtualenv --python=C:\Python\Python36\python.exe 虚拟环境的名字   创建虚拟环境并制定Python版本
deactivate 退出虚拟环境 
workon 虚拟环境名字 #切换虚拟环境 
lsvirtualenv  #列出所有的虚拟环境 
rmvirtualenv  虚拟环境名字  #删除制定的虚拟环境
cdvirtualenv 切换到虚拟环境所在的目录 

C:\Users\neyo>workon my_env
(my_env) C:\Users\neyo>cdvirtualenv
(my_env) C:\1806env\my_env>

创建一个目录用来存放所有的虚拟环境

到这个目录下面就能知道 有哪些虚拟环境  

我的电脑 属性  环境变量 系统变量       
添加  WORKON_HOME
     C:\1806env  #你指定的目录  

准备工作

python 3.6 版本 
安装 virtualwrapper 
安装 django==2.0  
pycharm professional 专业版  
安装 mysql5.7  
安装 pymysql   

django 介绍

2003 发布第一个版本 2005年正式版本 Simon、andrian 目的是为了 节省开发者的时间

django版本Python版本
1.82.7 3.2 3.3 3.4 3.5
1.9 1.102.7 3.4 3.5
1.112.7 3.4 3.5 3.6
2.03.4 3.5 3.6
2.13.5 3.6 3.7

web服务器 应用服务器 应用框架

  • web服务器 处理http请求 响应 静态文件 将动态请求传给应用服务器 apache nginx lighttpd 、IIS (微软)
  • 应用服务器 用来处理业务逻辑 Python php j2ee .net web服务器不直接响应 动态请求
  • web应用框架 用Python php java javascript 封装一些常用的web功能
    • django
    • flask
    • struct2 spring3
    • thinkphp laravel zendframwork ci YII2

mvc设计模式

  • m model 数据模型 一个数据表 就是 一个model
  • v view 视图
  • c controller

MTV设计模式

  • m model 模型 一个数据表 就是一个model
  • t template 模板
  • v view 视图

官网

https://docs.djangoproject.com/en/2.1/ 中文文档 +官网

http://python.jobbole.com/87814/ Python + Django 如何支撑了 7 亿月活用户的 Instagram?

https://www.v2ex.com/

https://segmentfault.com/

url 组成部分 url 又叫统一资源定位符 uniform resource locator

https://www.baidu.com:443/tag/小说/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=Python培训#3


https  访问协议  http  https  ftp  
www.baidu.com 主机名/域名/ip地址  
443  表示端口号 
tag/小说  表示查找的路径  表示访问子目录  
/?s 表示查询的字符串  
#3 锚点  后台不用管 前台用来页面定位用   

url 中所有的字符都是 ASCII 码 如果非 ASCII 比如中文 浏览器会先进行编码 然后 传输

创建 django 项目

  1. 用命令行的方式
windows cmd  
    cd 表示查看当前位于哪个目录下 
可以创建一个目录 单独用来存放所有的项目 
1.先进入虚拟环境  workon 虚拟环境名称   
2.django-admin startproject 项目名称  
3.cd 项目名称    进入项目所在的目录 
4.启动项目  python manage.py runserver  在浏览器 访问  127.0.0.18000 
ctrl+c  结束   

  1. 用pycharm
file, -newproject-django  选择项目安装目录 
existing interpreter  (这里要选择你创建的虚拟环境的目录 )



有上角 绿色按钮 启动   红色 按钮停止  



编辑配置 里边  选择 single instance only  表示每次 只运行 一个实例 避免 以后多个实例 不知道哪一个真正生效  



关闭项目   

    file->close project  ->然后  出来所有项目的列表 ->点击x即可   

让别人访问你的项目

1.windows 下面    
    python manage.py runserver 0.0.0.0:8000 
  然后 在settings.py下面   谁要访问你   你的ip地址
    ALLOWED_HOSTS = ['10.11.53.58']
2.pycharm 
    editing configuration  
    host 改为  0.0.0.0 然后制定端口号  

     然后 在settings.py下面   谁要访问你   你的ip地址
    ALLOWED_HOSTS = ['10.11.53.58']

    记得重启  

上面会出现一个问题    本地没法访问  
只需要在  
    settings.py下面   谁要访问你   你的ip地址
    ALLOWED_HOSTS = ['10.11.53.58','127.0.0.1']
重启即可  

### django 目录架构

  • manage.py 项目交互都是 基于这个文件 python manage.py 子命令
    • python manage.py startproject
    • python manage.py help
    • 除非有特殊需求 一般这个文件 不编辑
  • settings.py 本项目的设置项 和项目有关的配置都放在 这里边
  • urls.py 配置我们的url 路由的 比如 我们访问 http://127.0.0.1:8000/news 目标是访问新闻页面 在urls中 让你通过 news 找到 新闻页面
  • wsgi.py 专门用来部署 一般不需要修改

django 项目规范

  • 最开始 希望 不同的模块单独分开 需要创建 一个 Python package

  • django 根据功能进行了分层 比如 豆瓣中的 读书 电影 音乐 模块 所有跟模块相关的views 统一写在 该app下面的views.py中

  • python 提供了一个非常方便的命令

    python manage.py startapp app名称

    ​ 创建成功以后 里边自动创建了多个文件 比如 views.py admins.py models.py

    ​ 我们需要访问 http://127.0.0.1:9000/movie/

    1.服务器接收 浏览器的请求 
    2.先到 settings.py里边查看 ROOT_URLCONF = 'first.urls' 也就是  所有的url请求 都到 first 下面urls.py 下设置   找 urlspatterns 变量   
    3.到 first 下面urls.py 下
    from movie import views  #意思是 引入movie 下面的 views.py 
    path('movie',views.movie),
    
    4.到 movie 下面  编辑  views.py 
      from django.http import HttpResponse
    def movie(request):
          return HttpResponse("电影首页")
    

视图函数

127.0.0.1:9000 movie() 就是它的视图函数

from django.http import HttpResponse
def movie(request): #第一个参数必须是 request 这个参数绝对不能少  
    return HttpResponse("电影首页") #返回值必须是 django.http.response.HttpResponseBase 的一个子类对象  

django debug模式

项目下面的 settings.py 第26行  DEBUG = True  默认开启  

开启以后好处: 
    1.每次ctrl+s 以后会自动重启项目 不需要手动重启  
    2.代码冲出现bug 在浏览器和控制台会提示错误信息 
    3.在生产环境下面 我们要求关闭掉 debug  
    4.DEBUG = False  当debug为False  注意   F大写   下面的ip地址 必须设置 

ALLOWED_HOSTS = ['127.0.0.1','10.11.53.58']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值