一、简介
Django是一个可以使Web开发工作愉快并且高效的Web开发框架。使用Django,使你能够以最小的代价构建和维护高质量的Web应用。
Django是一个遵循MVC设计模式的框架。MVC是Model、View、Controller三个单词的简写,分别代码模型、视图、控制器。Django其实也是一个MTV的设计模式。MTV是Model、Template、View三个单词的缩写,分别代表模型、模板、视图。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以Django里更关注的是模型(Model)、模板(Template)和视图(Views),称为MTV模式。它们各自的职责如下:
层次 | 职责 |
---|---|
模型(Model),即数据存取层 | 处理与数据相关的所有事务:如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等 |
模板(Template),即表现层 | 处理与表现相关的决定:如何在页面或其他类型文档中进行显示 |
视图(View):即业务逻辑层 | 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁 |
二、安装
- 通过pip安装Django
Django本质上是python语言的一个类库,所以我们可以通过pip工具进行安装。
打开cmd,运行pip install django
,会自动安装PyPi提供的最新版本,如果指定版本可以使用"pip install django==版本号
"的形式进行安装。安装完毕后会出现"Successfully installed … "的提示。使用pip list
命令查看是否存在Django模块。或者使用下面命令查看Django版本信息。
- 配置系统环境变量
安装完Django后,在Python跟目录下的Scripts目录中,找到"django-admin.ext"文件(Django的核心管理程序),然后进入系统变量环境设置界面,将该文件的目录地址添加到path变量中。
回到cmd界面中,运行django-admin help
,我们可以看到django的命令列表。
三、创建Django项目
- 在cmd或linux命令行下创建Django项目(两者方法类同)
在cmd界面中,新建或进入想要创建Django项目的目录下,输入django-admin startproject mysite
命令,在改目录下就会创建一个叫mysite的Django项目。
在项目的根目录下,运行Python manage.py runserver
命令,Django会以127.0.0.1:8000默认配置启动开发服务器。在浏览器地址栏中输入“127.0.0.1:8000”会看到如下界面,表示Django一切正常。
- 在window下使用Pycharm创建Django项目
Pycharm是python的集成环境。启动Pycharm后,点击‘ file–>new project ’,会出现如下的对话框,选择Django栏目,输入项目名称,选择好Python解释器,单击create按钮创建。
创建完成后,Django会自动生成项目的目录结构。启动开发服务器也可以在Pycharm中使用图标按钮完成。
在Pycharm的上部工具中找到项目名称,在其下拉框中单击“edit configurations”,配置Host地址和端口号后,单击绿色小三角,开发服务器就运行起来了。
注意:Pycharm社区版没有此功能,如果想使用’PyCharm Community Edition’执行以上操作,可以参考原文
四、实践
- 创建视图文件
在编写第一个页面之前,我们首先要在mysite目录下创建一个名称为views的python file文件。当然,命名是没有要求的,在已创建好的views.py中写入如下代码,并保存:
我们逐行分析一下这段代码:from django.http import HttpResponse def hello(request): return HttpResponse("Hello world !")
首先,我们从django.http
模块导入HttpResponse
类。
接下来,我们定义一个叫做hello
的视图函数。每个视图函数至少要有一个参数,通常被叫作request
。这是一个触发这个视图、包含当前Web请求信息的对象,是类django.http.HttpResponse
的一个实例。在这个示例中,我们虽然不用request做任何事情,然而它仍必须是这个视图的第一个参数。注意视图函数的名称并不重要;并不一定非得以某种特定的方式命名才能让Django识别它。
这个函数只有简单的一行代码:它仅仅返回一个HttpResponse对象,这个对象包含了文本hello world !
注意:一个视图就是python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例。为了使一个python的函数成为一个Django可识别的视图,它必须满足这两个条件。 - 进行URL配置
现在运行:python manage.py runserver
还是只能看到Django的欢迎页面,而看不到刚写的hello world显示页面。那是因为我们的mysite项目还对hello视图一无所知。我们需要通过一个详细描述的URL来显式的告诉它并且激活这个视图。为了绑定视图函数和URL,我们适用URLconf。
URLconf 就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于哪个URL调用哪段代码。上面在执行 django-admin startproject mysite 时,该脚本会自动为你创建一份URLconf,即urls.py文件。
如果想在URLconf中加入URL和view,只需要增加映射URL模式和view功能的python tuple即可。如下添加hello 功能。from mysite.view import hello urlpatterns = [ path('admin/', admin.site.urls), path('hello/', hello), ]
- 启动Django服务器查看页面
启动Django开发服务来测试修改号的URLconf,运行命令行 python manage.py runserver。打开浏览器访问http://127.0.0.1:8000/hello/。就可以看到输出的结果了。开发服务器将自动检查python代码更改来做必要的重新加载,所以不需要在代码修改后 重启Server。
五、实现局域网访问
- settings.py设置
设置ALLOWED_HOSTS。ALLOWED_HOSTS = [’*’,]这个代表允许所有的ip访问你这个Django项目
- 运行Django项目
python manage.py runserver 你的局域网ip:端口号