第一次见你深深被你吸引
2017-12-25 本文已影响0人
卢子野
1.Django概述
Python在进行web开发过程中,如果直接使用底层操作,开发难度较大的同时,开发过程非常繁琐!
在实际使用时,Python通常通过框架(framework)来完成高效率的开发
2.Python中模块和框架有什么区别
模块--pygame、hashlib..:模块指代的是大量函数的一个集合
框架--Django、Tornado、Flask..:框架指代的各种模块的集合以及封装了大量的流程处理
实际操作时,Python使用的web框架有很多,比较流行的有Django、Flask、Tornado、Web.py、more..
3.Django框架的优势
Django是一个 python web 框架,主要用于进行高效率的web 软件开发而衍生出来的一个python 组件。
- 非常高效的web应用搭建
- 非常高效的web处理功能
- 完善的ORM操作[程序中的数据和数据库中的数据的对应(增删改查)关系]
- 非常强大的表单处理
- 非常强大的网页模板视图[网页、模板语法(视图)]
- 非常强大的路由功能[url地址和处理函数之间的映射(对应)关系]
- 硬件性能突破缓存处理
more
4.Django的使用
- 首先,安装Django
#安装django的方式,和安装普通模块的方式相同
pip install django
- 检测安装是否成功
django-admin -- version
>>>import django
>>>print(django.get_version())
- 使用django创建web项目
django-admin startproject <name>
#创建好的项目文件结构
|-- mysite/ # 项目文件夹[根目录]
|-- mysite/ # 根项目(主项目)
|-- __init__.py # 模块文件
|-- urls.py # 路由文件[url地址和处理函数进行对应]
|-- settings.py # 项目的设置配置文件
|-- wsgi.py # 实现了wsgi网关协议的模块
|-- manage.py # 项目的命令管理模块[不需要修改,直接使用]
- 启动并访问项目
# 在项目根目录下运行如下命令
python manage.py runserver
如果出现如下提示信息,表示项目(使用内置服务器)正常启动
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations f
or app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 28, 2017 - 10:59:25
Django version 1.11.7, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
- 打开浏览器,访问http://localhost:8000
PS1:启动的项目,显示的是英文,转换成中文显示
mysite/mysite/settings.py
LANGUAGE_CODE=’en_us’ ‘zh_Hans’
PS2:Django项目的启动,默认使用了8000端口
自定义启动端口
python manage.py runserver <port>
PS3:web项目发布之后目标:数据共享——允许其他人访问我们的网站
指定ip地址和端口,允许通过网络地址访问
python manage.py runserver <ip>:<port>
注意:首先在mysite/mysite/settgins.py配置文件中,修改如下配置
ALLOWSED_HOST=[“*”,]
其次在启动项目时,通过如下命令启动
python manage.py runserver 0.0.0.0:8000
PS4:我们通过python manage.py..这样的方式,是通过内置的测试服务器启动并发布项目的,适用于开发!
当项目开发完成,实际部署上线时,要将web项目部署到独立的服务器上[以后]
- 创建第一个视图页面
* 首先在mysite/mysite/目录下,创建一个views.py视图模块
from django.http import HttpResponse
def index(request):
return HttpResponse(“...”)
*其次在mysite/mysite/urls.py路由文件中,添加url地址和处理函数之间的对应关系
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r“^admin/”, admin.urls),
url(r”^index/$”, views.index, name=’index’)
]
- 详细分析
Django是模块化管理文件的,所以不同功能的代码存放在不同的py文件中
路由相关:urls.py
设置相关:settgins.py
页面视图:views.py
网页视图开发:
导入了一个响应对象模块:django.http.HttpResponse
可以通过响应对象模块,给浏览器返回数据
def index(request):
return HttpResponse(“..”)
路由模块:urls.py
什么是路由?路由就是从现实生活中的路由器抽象出来的一个概念,表示的url地址和对应的处理函数之间的对应[映射]关系
>>> 路由器:ip地址[请求路径] 路由器 个人PC[资源]
>>> 路由:url请求路径 路由 处理函数
路由:一种映射,一种对应,表示的是一种绑定关系
类比昨天的内容——网管接口的存在——控制器——分发请求
from django.conf.urls import url[路由对象:可以绑定一组对应关系]
urlpatterns = [
# 将第一个参数路径和第二个参数处理函数绑定在一起
# 请求第一个路径的时候->调用第二个参数[处理函数]
# 第三个参数《就是给这个路由对象命名》
url(r’^login/$’, views.login, name=’login’),
]