使用Django搭建web服务器的例子(最最正确的方式)

所属分类: 脚本专栏 / python 阅读数: 722
收藏 0 赞 0 分享

今晚在Mac OS中搭建web服务器时遇到一点冲突,逛了几个论坛和网站,都说的太片面。

先列出最正确的搭建步骤:(无论你是任何操作系统,或者任何版本,都没毛病)

① 随便找个位置建一个文件夹(比如:Windows下的D盘)

② 打开终端(Windows下是cmd) cd 进入文件夹位置(简单吧)

③ 创建一个虚拟环境(虚拟环境就是磁盘一个位置,为了后续部署到服务器,这也是必须的并且是最正确的一步)

④ 激活虚拟环境

⑤ 安装Django

⑥ 在Django 中创建一个项目

⑦ 创建数据库

⑧ 使用 runserver 命令启动服务器

请提前安装好 python3.6、pip3 及 pycharm 专业版。

----------------------------------------------------------

每一步都超简单,几分钟就完成了。。不要信那些乱七八糟的讲解。首先他们不是创建的虚拟环境,就是错的。

我看好多人都写踩了几天几夜的坑集成了SQLite,配置Django到path环境变量……一系列错误操作

----------------------------------------------------------

我在工作目录下新建了一个文件夹 qihao_blog

cd进入 qihao_blog 目录后创建一个虚拟环境

python3 -m venv ll_env

这一步创建了一个名为 ll_env 的虚拟环境(随便起了一个名字而已)

运行python3 -m venv ll_env 命令之后会在我们文件夹下创建一个文件夹 ll_env 这个文件夹就是虚拟环境

----------------------------------

这一步要讲一下,由于Mac系统自带Python2.7,Xcode目前最高仅支持2.7,

所以开发IOS的就不要卸载系统自带的Python2.7。直接安装Python 3.6就可以了。

需要注意的是直接运行Python命令调用的是2.7,调用Python3.6需要使用 Python3 命令

----------------------------------

Windows用户没有以上问题。。。。。

这一步仅仅建个文件夹输一条命令就完事了,PyCharm直接创建项目对pip版本有要求,不支持现在的新版pip,需要降级。

如果你使用的是较早的Python版本,或者系统没有正确设置,不能使用模块venv,需安装virtualenv包

(最好还是使用Python3)

接下来激活虚拟环境

source ll_env/bin/activate

注意 如果你使用的是Windows系统,请使用命令 ll_env\Scripts\activate(不包含source)来激活这个虚拟环境。

要停止使用虚拟环境,可执行命令:deactivate

环境处于活动状态时,环境名将包含在括号内。在这种情况下,可以在环境中安装包,并使用已安装的包。

在ll_env虚拟环境中安装的包仅在该环境处于 活动状态 时才可用。

安装Django

创建并激活虚拟环境后,就可安装Django了:

pip install Django

这只是把Django安装在刚才创建的虚拟环境文件夹里。

由于是在虚拟环境中工作,因此在所有的系统中,安装Django的命令都相同:

无需使用python -m pip install package_name 这样较长的命令。更不用配置path环境变量。因为不是系统环境。

别忘了,Django仅在虚拟环境处于活动状态时才可用。

很多人用一条命令验证Django的path环境变量配置的是否正确。

如果不放心你可以试试虚拟环境能不能调用

django-admin help

记住这个时候虚拟环境是激活状态…………(前面有个括号,里面是虚拟环境名字)

接下来在Django 中创建一个项目

这个时候建议使用我们常用的PyCharm,当然也可以继续使用dos命令窗口。

PyCharm中打开刚才新建的qihao_blog文件夹

很多人会疑惑,我为什么不从第一步开始就使用PyCharm直接创建一个Django项目呢???

当然PyCharm会自动创建虚拟环境,并下载好Django。。

但是pip高版本不支持。不值得改来改去的。

前面我也提到了版本的问题。直接dos命令行创建虚拟环境后,打开使用高版本就好了。。

在terminal中输入如下命令。创建一个my_blog项目。

django-admin.py startproject my_blog .

这个命令 末尾的句点 让新项目使用合适的目录结构,这样开发完成后可轻松地将应用程序部署到服务器。

注意 千万别忘了这个句点,否则部署应用程序时将遭遇一些配置问题。如果忘记了这个句点,就将创建的文件和文件夹删除(ll_env除外),再重新运行这个命令。

创建完成后的目录结构就如截图看到一样,多了一个my_blog文件夹。。

接下来创建数据库

python manage.py migrate

为什么是Python命令不是Python3命令???

因为你就在Python3的虚拟环境中做各种操作。时刻记住做各种操作都是在环境激活的状态下。。

运行命令后,工程目录下就会多了一个 db.sqlite3 文件

在使用SQLite的新项目中首次执行这个命令时,Django将新建一个数据库 db.sqlite3 首次执行命令migrate时,将让Django确保数据库与项目的当前状态匹配。

启动服务器

python manage.py runserver

现在打开浏览器,并输入URL:http://localhost:8000/ 或者 http://127.0.0.1:8000/

这个页面是Django创建的,若要关闭这个服务器,按Ctrl + C即可。

注意 如果出现错误消息“That port is already in use”(指定端口已被占用),

请执行命令python manage.py runserver 8001,让Diango使用另一个端口;

如果这个端口也不可用,请不断执行上述命令,并逐渐增大其中的端口号,直到找到可用的端口。

以上这篇使用Django搭建web服务器的例子(最最正确的方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Python常见加密模块用法分析【MD5,sha,crypt模块】

这篇文章主要介绍了Python常见加密模块用法,结合实例形式较为详细的分析了MD5,sha与crypt模块加密的相关实现方法与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python向日志输出中添加上下文信息

这篇文章主要介绍了Python向日志输出中添加上下文信息的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现的简单dns查询功能示例

这篇文章主要介绍了Python实现的简单dns查询功能,结合实例形式分析了Python基于socket模块的dns信息查询实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

利用Anaconda完美解决Python 2与python 3的共存问题

Anaconda 是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu,下面这篇文章主要给大家介绍了利用Anaconda完美解决Python 2与python 3共存问题的相关资料,文中介绍的非常详
收藏 0 赞 0 分享

Python随机读取文件实现实例

这篇文章主要介绍了Python随机读取文件的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

用生成器来改写直接返回列表的函数方法

下面小编就为大家带来一篇用生成器来改写直接返回列表的函数方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

python爬虫入门教程--快速理解HTTP协议(一)

http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道。下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

老生常谈Python进阶之装饰器

下面小编就为大家带来一篇老生常谈Python进阶之装饰器。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈Python基础之I/O模型

下面小编就为大家带来一篇浅谈Python基础之I/O模型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

python如何获取服务器硬件信息

这篇文章主要为大家详细介绍了python获取服务器硬件信息的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多