Django框架学习(一)Django框架安装和项目创建详解
一、简介二、安装
1. 方法一 :cmd命令中安装2.方法二:下载Django包进行安装 三、创建项目1.遇到了问题:创建django项目报错ModuleNotFoundError: No module named ‘zoneinfo‘。2.卸载Django3.创建Django项目4.运行 Django web服务
一、简介Django 是一个功能强大的 web 框架,适用于写复杂的 Web 工程。
二、安装 1. 方法一 :cmd命令中安装win+R进入cmd执行如下命令即可。
pip install django
检查Django是否安装好, 并且查看安装的Django版本
python -m django --version 2.1.3
如果显示出一个版本数字(比如这里就是2.1.3) 表示已经安装好了。
上面的方法比较简便,但是不知道为什么我安装出现了错误,用了第二种方法可以,方法如下:
2.方法二:下载Django包进行安装下载Django 下载地址:https://www.djangoproject.com/download/(注意Python与Django的版本号要对应。目前 Django 1.6.x 以上版本已经完全兼容 Python 3.x。)
下载完 Django 压缩包,解压并和Python安装目录放在同一个根目录,进入 Django 目录,输入cmd 执行python setup.py install,然后开始安装,Django将要被安装到Python的Lib下site-packages。
然后是配置环境变量,将这几个目录添加到系统环境变量中: D:AnACONDALibsite-packagesDjango-4.0.1-py3.8.eggdjango;D:AnACONDALibsite-packagesscripts。
添加完成后就可以使用Django的django-admin.py命令新建工程了。检测是否安装完成:出现版本号就说明安装成功了。
python -m django --version三、创建项目
进入储存的路径(就是你想将项目存放在哪里),然后输入:
django-admin startproiect djangoText(项目名称)
输入之后如下:
解决方案:
降低版本,由于django版本太高或者python版本太低,选择一个修改版本,就ok了。这里我们选择降低Django版本。
这里我的Python是3.9版本的,安装Django4.0版本太高了,于是换了版本3.0.14可以
重新按照上面的步骤安装成功后,选择一个目录储存项目,输入:
django-admin startproject firstDjango
firstDjango是项目名称。于是在路径中会生成一个firstDjango文件夹。
生成的目录结构:
进入firstDjango:
目录解释:(参考:http://www.byhy.net/tut/webdev/django/02/)
manage.py 是一个工具脚本,用作项目管理的。以后我们会使用它执行管理 *** 作。
里面的firstDjango/
目录是python包。 里面包含项目的重要配置文件。这个目录名字不能随便改,因为manage.py 要用到它。
firstDjango/settings.py
是 Django 项目的配置文件. 包含了非常重要的配置项,以后我们可能需要修改里面的配置。
firstDjango/urls.py
里面存放了 一张表, 声明了前端发过来的各种http请求,分别由哪些函数处理。
firstDjango/wsgi.py
要了解这个文件的作用, 我们必须明白wsgi 是什么意思。
python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。参考文档 https://www.python.org/dev/peps/pep-3333/.遵循wsgi规范的 web后端系统, 我们可以理解为 由两个部分组成:wsgi web server 和 wsgi web application
它们通常是运行在一个python进程中的两个模块,或者说两个子系统。
wsgi web server 接受到前端的http请求后,会调用 wsgi web application 的接口(interface)( 比如函数或者类方法)方法,由wsgi web application 具体处理该请求。然后再把处理结果返回给 wsgi web server, wsgi web server再返回给前端。如下图所示:
为什么要搞出两个子系统?
因为这两个子系统有各自负责的重点。
wsgi web server : 负责提供高效的http请求处理环境,可以使用多线程、多进程或者协程的机制。http 请求发送到 wsgi web server , wsgi web server 分配 线程或者进程或者轻量级线程(协程),然后在 这些 线程、进程、或者协程里面,去调用执行 wsgi web application 的入口代码。
wsgi web application: 被调用后,负责处理业务逻辑。 业务逻辑的处理可能非常复杂, wsgi web application 需要精心的设计来正确处理。
django是 wsgi web application 的框架,它只有一个简单的单线程 wsgi web server。 供调试时使用。
产品正式上线运行的时候,通常我们需要高效的 wsgi web server 产品,比如 gunicorn,uwsgi,cherrypy等,结合Django ,组成一个高效的 后端服务。
所以这个 wsgi.py 就是 提供给wsgi web server调用 的接口文件,里面的变量application对应对象实现了 wsgi入口,供wsgi webserver调用 。
django虽然只是 wsgi web application 的框架,但是它也有一个简单的 wsgi web server。 供调试时使用。所以也构成一个完整的后端web服务。 本地调试代码的时候,完全可以运行起来。运行开发web 服务只需要在命令行窗口里面,首先进入到项目根目录 ,比如,我们这里就是E:PythonCodefirstDjango,然后执行如下命令:
python manage.py runserver 0.0.0.0:80
这样服务就会被启动。 我们就可以在浏览器访问web服务了。
0.0.0.0:80解释:
0.0.0.0:80 是指定 web服务绑定的 IP 地址和端口。
0.0.0.0 表示绑定本机所有的IP地址, 就是可以通过任何一个本机的IP (包括 环回地址 127.0.0.1 ) 都可以访问我们的服务。
80 表示是服务启动在80端口上。
运行如果不行就运行一下这个代码:
python manage.py migrate
请打开浏览器,地址栏输入 ‘127.0.0.1’或者复制cmd中的网址: http://localhost:8000/,就可以看到如下的界面,表示Django服务搭建成功,启动成功。
注意:启动web服务的命令行窗口不能关闭,如果关闭,web服务就停止了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)