最近想要开发一个网页工具,具体是什么暂时还不便透露,首选PHP后发现效率着实不高啊,因为之前学习过利用python来写爬虫,所以想到可以利用python来写,那么问题来了,我如何利用呢?
首要问题就是我不知道如何能过通过网页来调用python的服务,经过大量的百度,我先是查到了web.py,之后又看到了django。于是乎开始玩玩这个django。我之前也在很多地方见过这个django,但是也仅仅是知道这个名字,所以开始Hello World吧。
这次体验感觉较好,不知道为什么我总是抽风的GTT线路VPS今天在使用ssh连接的时候没有出现特别卡的情况,勉强能用,所以我直接在vps上面玩了。
我的vps系统是Centos7.6,下面开始完整的过程。
查看django版本对应的python版本:
Django 版本 | Python 版本 |
---|---|
1.8 | 2.7, 3.2 , 3.3, 3.4, 3.5 |
1.9, 1.10 | 2.7, 3.4, 3.5 |
1.11 | 2.7, 3.4, 3.5, 3.6 |
2.0 | 3.4, 3.5, 3.6, 3.7 |
2.1, 2.2 | 3.5, 3.6, 3.7 |
首先查看python版本:2.7
所以我这里要安装的django版本为1.11
安装过程以下二选一即可:
一:
首先我们来安装:setuptool
敲入命令:
yum install python-setuptools
安装完成后使用easy_install命令安装django:
easy_install django==1.11
二:
当然也可以使用pip安装,命令为:
pip install Django==1.11
安装完成后敲入python命令,进入python,然后导入django,查看到django的版本说明安装成功。
这里可以看到django的版本为1.11,说明我们安装成功了。
接下来开始Hello World:
django有自己的管理工具:django-admin,这个工具有点类似于node下的npm。
使用django创建第一个项目:
首先需要进入一个合适的目录下,我这里因为root用户的目录下没有多余的文件,所以直接在执行命令了。
创建一个名为Hello World的项目:
django-admin startproject HelloWorld
之后进入这个项目中:
cd HelloWorld/
我们可以使用tree命令查看一下这个目录的树:
ps:如果没有tree这个命令可以使用yum install tree来安装。
这里我们可以直接运行以下这个项目:
python manage.py runserver 0.0.0.0:520
ps:0.0.0.0 让其它电脑可连接到开发服务器,520 为端口号。如果不说明,那么端口号默认为 8000。我这里用了520端口来做实验,爱你哦!
可以看到项目已经跑起来了,因为我直接用的vps,所以在浏览器中输入我的ip:520后应该就会出现我的项目,但是当我输入我的ip+端口号之后出现了如图所示的内容:
出错了!!!
同时也可以在vps中看到报错内容:
Invalid HTTP_HOST header: 'xx.xx.xx.138:520'. You may need to add u'xx.xx.xx.xx' to ALLOWED_HOSTS.
出现了 Invalid HTTP_HOST header: 'xx.xx.xx.138:520'. You may need to add u'xx.xx.xx.xx' to ALLOWED_HOSTS. 怎么解决呢?
从语义上可以看出是:我需要把xx.xxx.xxx.xxx添加到 ALLOWED_HOSTS 中去。
知道问题出现在哪里就好办了,还记得上面说用tree看的项目结构吗? 大致可以分析出 ALLOWED_HOSTS 在 settings.py 里面。
然后敲命令:(敲命令前先使用ctrl+c退出)
vi HelloWorld/settings.py
进入到 settings.py 的编辑页面之后按一下esc(后退键),敲 /ALLOWED_HOSTS 即可快速定位到 ALLOWED_HOSTS 所在的那一行。
可以看到是这样的情况:
ALLOWED_HOSTS = []
我们在[]中写入'*',表示允许任何域,当然也可以输入指定的域。
修改成这个样子:ALLOWED_HOSTS = ['*']
保存退出 (esc+:x)
再次启动项目:
python manage.py runserver 0.0.0.0:520
成功了!!!