1.介绍Django
1.1 Django的来源
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
1.2 Django 的特点
- 完全免费并开源源代码
- 快速高效开发
- 使用MTV模式(以MVC模式为原型)
- 强大的可扩展性.
- 社区丰富
- 第三方框架丰富
1.3 Django 的架构
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:
- M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。
- C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。在django对应view。
- V——负责把数据格式化后呈现给用户。
Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:
- M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
- T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
- V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。
1.4 Django的设计
对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。
模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
会话(session):用户登录与权限检查,快速开发用户会话功能。
国际化:内置国际化系统,方便开发出多种语言的网站。
自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于内容管理系统
工作机制
2 搭建Django helloworld
2.1 安装Django
首先我们应该确保服务器上安装了python3.7以及当前使用的是python3.7的环境
然后在命令行输入以下命令安装Django2.1.8pip install Django==2.1.8
2.2 创建一个项目
输入以下命令在当前文件夹下创建helloworld项目$ django-admin startproject helloworld
修改settings.py中的配置$ cd helloworld
$ cd helloworld
vim settings.py
#ALLOWED_HOSTS位置的修改如下
ALLOWED_HOSTS = [
"你服务器的ip地址"
]
切换到上一级目录并运行项目cd ..
$ python manage.py runserver 0.0.0.0:8001
使用runserver命令,开始一个工程
0.0.0.0 或者 0 , 代表任何IP都允许访问
8001: 代表我们对外的端口,默认端口为80
我们可以通过你的服务器IP:端口
访问这个网站
当我们看下面的图,就代表整个工程已经启动成功
2.3 继续完成helloworld
输入Ctrl+c终止程序运行
切换到manage.py
,输入以下命令$ python manage.py startapp hello
然后打开 hello/views.py,把下面这些 Python 代码输入进去:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello world.")
接着在 hello 目录里新建一个 urls.py 文件,把下面这些 Python 代码输入进去:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
然后在helloworld/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('hello.urls')),
path('admin/', admin.site.urls),
]
最后切换到manage.py
所在文件夹下,输入以下命令$ python manage.py runserver 0.0.0.0:8001
在你电脑的浏览器地址栏输入http://你的服务器的ip地址:8001/hello/
即可看到hellworld
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。