1.基本认知
Web应用框架(Web application framework)是一种开发框架,用来支持动态网站,网络应用程序及网络服务的开发。—— Django 框架: WSGI:Web Server Gateway Interface。服务器网关接口 web框架构成: url路由 请求对象 响应对象 模板引擎 数据库模型对象 django 全能型web框架 web.py flask.py tornado 异步加载 Twisted
Django
是用Python
开发的一个免费开源
的Web框架,可以用于快速搭建高性能,优雅的网站!
http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理。
Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户。
web应用框架的设计模式: MTV 和 MVC
django设计模式是
:MTV
M:models 模型:负责业务数据对象与数据库对象
• T: templates 模板:负责如何把数据展示给用户
• V:views 视图:负责业务逻辑
• M:models 模型:负责业务数据对象与数据库对象
• V:views 视图 负责与用户交互的页面
• C:controller 控制器 接受用户的输入调用模型与视图(类似我们的views)
解耦(将一个复杂的流程分工为多个简单的流程。) 耦合是一个宽泛的概念。两个程序模块有关联就叫做耦合。
""" 模块只对外暴露最小限度的接口,形成最低的依赖关系。 只要对外接口不变,模块内部的修改,就不得影响其他模块; 删除一个模块,应当只影响有依赖关系的其他模块,而不应该影响其他无关部分; 软件工程有一条铁律 “高内聚、低耦合” 就是这个道理: 必要的耦合不可否认,没有耦合程序就做不成事; 但是不必要的紧耦合,就会让程序“牵一发而动全身”, 最终让程序员的编写和维护都无从下手。 """
2.工具准备
linux (ubuntu) python3↑ pycharm mysql 5.7↑
python3:virtualenv,django,pymysql/mysqlclient
常用命令
查看当前虚拟环境: workon
退出虚拟环境: deactivate
查看进程: ps -aux|grep python
创建虚拟环境(退出之前环境): mkvirtualenv -p /usr/bin/python3 env_name # 其实就是复制一份环境
进入虚拟环境: workon envname
删除虚拟环境: rmvirtualenv envname
安装django : pip install django[==2.1.0 指定版本]
查看安装的django版本: python -m django --version
在虚拟环境中安装pymysql: pip install pymysql -i https://pypi.doubanio.com/simple
查看django的命令介绍: django-admin
创建项目: django-admin startproject project_name
运行服务: python manage.py runserver [ 0.0.0.0:8000 ]
创建APP: python manage.py startapp app_name
查看管理器的命令: python manage.py
pycharm中创建:
1. Tools:Run manage.py Task
2. startapp app_name
127.0.0.1 代表本地回环地址(固定ip) # 可以用 ifconfig命令查看
0.0.0.0 代表任何主机都可以访问
0:8000 0.0.0.0:8000的简写; 8000为端口号
端口总共:65536(即2**16) 0-65535
其中1—1024端口有特殊作用;
该命令显示当前设置文件和Django默认设置之间的差异。
python manage.py diffsettings
环境搭建
1.创建虚拟环境
(py3env) pyvip@Vip:~$ workon
envpy2
py3env
pydjtest
(py3env) pyvip@Vip:~$ mkvirtualenv -p /usr/bin/python3 dj2env
(dj2env) pyvip@Vip:~$ pip install django==2.1.10 -i https://pypi.doubanio.com/simple
2.新建项目
# 新建一个文件夹用于存放项目,并进入该文件夹
~$ mkdir projects
~/projects$ django-admin startproject hello_django1
3.Django目录及文件说明
~/projects$ tree
├── hello_django
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
manage.py django中的一个命令行工具,管理django项目
__init__.py 空文件,告诉python这个目录是python包
setting.py 配置文件,包含数据库信息,调试标志,静态文件等。
urls.py Django项目的URL声明, 就像你网站的“目录”
wsgi.py 作为你的项目的运行在 WSGI 兼容的Web服务器上的入口 后期部署到服务器时使用
4.Pycharm搭建环境及代码同步
4.1新建项目
4.2设置代码同步
Tools ==> Deployment ==> Configuration
Tools ==> Deployment ==> Options
同步远程主机的项目文件到本地
4.3配置django
添加 Django 服务
Fix会跳转到如下设置, 其实就是Settings ==> Language ==> Django
5.运行服务器
因为我们用的是linux上面的环境,所以为了让我们在windows的浏览器上能访问到我们的服务器,那么需要修改setting.py的文件,将里面的ALLOWED_HOSTS = []
改成ALLOWED_HOSTS = ['*']
,这样才能使我们在本地能访问到我们linux上面的服务器。
linux虚拟机网络连接方式是nat端口转发时,需要设置http服务8000端口的转发:
将配置文件和端口都设置好后就可以去运行我们的服务,开服务开启.
开启服务的命令: python manage.py runserver 0.0.0.0:8000
pycharm中有两种方式可以开启服务.
1.在pycharm中的配置,在运行服务器配置的页面改成0.0.0.0的host ,然后保存运行.
2.在Tool工具,点击Run manage.py Task... ,这样就能打开项目的manage管理器,然后在下面输入运行服务器的命令runserver 0.0.0.0:8000
当服务启动后,我们打开浏览器输入ip:端口回车就能看到It workd!
的页面,这就说明我们已经访问到了我们linux上面的django开发服务器了。
注意: 从这些开启的方式中选择一种方便的去开启服务就可以了,不要重复操作, 重复操作端口就会被占用.
6.创建视图函数
在项目目录下创建views.py视图函数
# hello_django/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse('hello django!')
定义试图函数相关的URL(hello_django/urls.py)
# hello_django/urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/', views.index),
]
7.新建应用(app)
一个项目可以包含多个应用,下面是创建应用的命令:
# 在项目根目录下运行命令
~/netshop$ python manage.py startapp movie
在pycharm中打开项目的manage管理器, 然后输入创建应用的命令startapp appname
audio和video 音频标签和视频文件标签
mysql:admin 、root 密码: Root110qwe 、qwe123
Django 管理
# 创建admin后台管理用户: python manage.py createsuperuser
mysite project: 用户: admin 密码:wz926493 邮箱:1432294852@qq.com
demo_django project 用户:admin 密码:ww123456 邮箱: