首先安装虚拟环境,命令如下
sudo pip3 install virtualenv#安装虚拟环境
接下来还要安装虚拟环境扩展包(使用起来更简单),命令如下:
sudo pip3 install virtualenvwrapper
修改家目录下的配置文件.bashrc,添加如下内容
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
激活配置内容
source .bashrc
创建虚拟环境
mkvirtualenv+名
安装Django
pip install django==1.11.11
相关命令
# 虚拟环境
mkvirtualenv# 创建虚拟环境
rmvirtualenv# 删除虚拟环境
workon# 进入虚拟环境、查看所有虚拟环境
deactivate# 退出虚拟环境
# pip
pip install# 安装依赖包
pip uninstall# 卸载依赖包
pip list# 查看已安装的依赖包 Django (1.11.11)
pip freeze# 查看已安装的依赖包 django==1.11.11
项目组织结构
一个Project包含有多个App
一个App就是一个Python包,就代表一个功能模块,比如:用户模块,商品模块等
各功能模块间可以保持相对的独立
以包的形式组织代码方便功能模块的复用
通过命令创建
创建项目: django-admin startproject 项目名
创建应用: pythonmanage.pystartapp 应用名
创建项目
要创建Django项目, 先进入虚拟环境:
workon 虚拟环境名
使用如下命令创建Django项目:
django-admin startproject 项目名
#例:要创建的项目名为 mypro2
django-admin startproject mypro2
创建应用
先进入项目根目录下:
cd 项目根目录
执行以下命令创建应用
#manage.py 为上述创建项目时自动生成的管理文件
python manage.py startapp 应用名
#例:
python manage.py startapp users
运行web服务器
jango自带了一个纯python编写的开发阶段使用的web服务器,用来预览网站效果和进行开发调试
有两种方式运行Django自带的Web服务器
通过Pycharm运行
通过命令运行
1、通过Pycharm运行
点击运行按钮run
2运行起来后,在 run 窗口,可以看到服务器打印出来的日志信息
3可以手动指定服务器运行的ip和端口,不指定默认值为: 127.0.0.1:8000
通过命令运行
运行Web服务器的命令
python manage.py runserver ip:端口
或:
python manage.py runserver
注意: 需要在终端中,先进入到项目的根目录下,然后才可以通过上述命令启动服务器
可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。
按 ctrl+c 可以停止服务器
视图初步使用
Django中的视图
同Flask框架一样,Django也使用视图来编写Web应用的业务逻辑。
Django的视图也就是一个函数,可称为视图函数
视图 定义在应用的views.py文件中的
视图 需要绑定一个URL地址(路由),才能被django框架找到并调用执行
关于视图的说明:
关于视图【理解】
视图不是由开发者主动调用的,而是由 Django 框架调用
当Django接收到请求时,会进行URL正则匹配,调用对应的视图
调用视图时,Django会把请求信息封装为一个 HttpRequest 对象,并作为视图的第一个参数传入
关于视图的参数
视图的第一个参数必须定义,名字可自定义,但习惯命名为 request,类型为HttpRequest
缺少了该参数,Django在调用视图时,将无法传入HttpRequest对象
关于视图的返回值
视图必须返回一个 HttpResponse 对象(或其子类对象),不能像Flask一样直接返回字符串
HttpRequest请求对象由Django创建,HttpResponse响应对象由开发人员创建
配置URL(路由)
在项目下的urls.py文件中进行url路由配置如下:
# 注意:urlpatterns是一个列表
urlpatterns = [
...
# 配置路由和视图: http://127.0.0.1:8000/users/index
# 参数1: 匹配url的正则表达式
# 参数2: 匹配成功后由Django框架调用的视图函数
url(r'^users/index$', views.index),
]
模板初步使用
在项目的 templates 目录下创建一个模板文件
在视图函数中,使用render()方法渲染模板,得到HttpResponse对象并返回
defindex(request):
# render返回的是HttpResponse对象
returnrender(request,'index.html')