1、简介
Django是一个开放源码的web应用框架,由Python写成,采用了MTV的框架模式,即模型M、模板T和视图V。
作用
1、创建模型的对象关系映射
2、为最终用户设计的完美管理界面
3、一流的URL设计
4、设计者友好的模板语言
5、缓存系统
环境搭建
安装方式
方式一:
pip install django (安装最新版本,可以后跟 django=版本号安装指定版本的)
方式二:
下载.whl驱动文件 进入该目录,pip install Django-2.0.6-py3-none-any.whl
方式三:
下载Django压缩包,进入Django目录,执行pip install setup.py install
检查是否安装成功
import django
print(django.VERSION)
print(django.get_version())
虚拟环境搭建
作用:
为了给需要不同配置环境的项目配置不同的运行环境。
步骤:
1、安装virtualenv(虚拟环境管理工具)
pip install virtualenv
2、创建虚拟环境目录
virtualenv 虚拟环境名 (放在当前目录下)
3、激活虚拟环境
进入虚拟环境的Scripts目录,打开cmd
activate
4、关闭虚拟环境
deavtivate
如果出现pkgutil问题,可能是中文路径问题,也就是可能路径中包含中文的问题
可以使用python3自带的虚拟环境创建
python -m venv 虚拟环境名
本质:
虚拟环境本质上就是对python的拷贝
创建Django项目
pycharm创建
打开Pycharm,选择菜单项【File】->【New Project】->【Django】->【Location】->【Existing interprter】 (选择刚刚创建的虚拟环境中的python.exe)
目录结构
[外链图片转存失败(img-e9Xt0UAM-1568558340156)(C:\Users\霍新阳\Documents\Tencent Files\1454589184\FileRecv\MobileFile\Image\8}K7X@Y5E4P%9O_WC6%_24T.png)]
__init__.py 表示当前虚拟环境的是一个包
settings.py 配置文件
urls.py 配置路径
wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
视图和URL配置
创建视图
在Django_study/Django_study下创建一个views.py文件
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ") # 小括号中的字符串最终会响应到前端页面
绑定url
打开urls文件
from Django_study import views #引入view模块
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', views.hello), # view.hello函数 127.0.0.1:8000/hello
]
我们使用 django.http.HttpResponse() 来输出"Hello World!"。该方式将HTML代码与Python代码混合在一起,不符合Django的MVC思想。
MVC模式和MTV模式
Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。
模型(Model),即数据存取层
处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
模板(Template),即表现层
处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
视图(View),即业务逻辑层
存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。
模板templates
作用:
用于分离文档的表现形式和内容,也就是html和视图界面分离。
使用render渲染界面:
from django.shortcuts import render
def hello(request):
return render(request,'hello.html')
创建app
在实际的应用开发中,具有不同功能的模块放在不同的app中,这样做的目的是为了解开程序之间的,高耦合、低内聚,便于程序的维护
命令:
python manage.py startapp app_name
app目录结构
helloworld
|-- firstapp
| |-- __init__.py
| |-- admin.py
| |-- models.py
| |-- tests.py
| `-- views.py
自己创建一个urls.py
在Django_study中的urls.py加入
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('dangdang/',include('dangdang.urls')), #添加include包含
]
添加app到settings.py中的INSTALL_APPS中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'FirstApp', # 新创建的app
]
总结
创建Django项目的完整流程:
1、打开Pycharm,新建Django的项目,注意选择项目的解释器--虚拟环境的解释器
2、创建app -- 打开Pycharm左下角的terminal ,执行python manager.py startapp app名
3、打开app的views.py文件 定义视图函数
4、每个视图函数必须返回一个响应
(1)通过HttpResponse("xxx")
(2)通过render(request,"xxx.html") 如果使用模板文件,需要在项目根目录的templates目录中添加模板文件
5、每个视图函数都应该有一个访问路径,在urls.py文件中定义path
6、启动项目服务器 -- 通过pycharm的菜单项中的run即
7、打开浏览器,输入url即可访问
虚拟化管理工具
virtualenvwrapper是基于virtualenv之上的工具,用来对虚拟环境进行管理
安装:
pip install virtualenvwrapper-win
配置环境变量:
WORKON_HOME=虚拟环境要安装的目录
创建虚拟环境:
mkvirtualenv 虚拟环境名
使用虚拟环境:
workon 虚拟环境名
退出虚拟环境:
deactivate