更多: 股票数据分析Python+Tushare使用系列(一)(二)(三)等等
前言:
在前面(一)文章中创建好了一个Python项目, 暂时不对Python功能做深入研究,
本文优先介绍Python + Django 开启http接口访问功能, 提供一个接口共外部访问是整个流程不可或缺的部分,为我后面开发前端或PC, 移动等提供接口服务.
Django : 简单介绍就是, 一个web框架,能够为http访问 和 Python直接搭建桥梁.当然还有其他选择,这里不做介绍.
- 在进行上一篇文章安装环境之后, 我们开始进行下面操作 :
Django 安装 :
比较详细的菜鸟Django安装介绍,
其中包括:
windows 安装Django步骤
linux 安装Django步骤
Mac 安装Django步骤
我以Mac简单介绍:
Django下载地址1: https://www.djangoproject.com/download/
Github 上下载最新版,地址:https://github.com/django/django
下面我是https://www.djangoproject.com/download/这里下载的:
页面右侧:
下载Django-1.10.8.tar.gz成功后:(Mac下默认是/Users/xxx/Downloads,xxx是你的用户名)
安装
进入下载目录解压:
cd /Users/niexiaobo/Downloads
tar zxvf Django-1.10.8.tar.gz
进入解压后的目录:
cd Django-1.10.8
sudo python setup.py install
(安装需要输入电脑密码)
安装成功后会输出以下信息:
...
....
creating /anaconda3/lib/python3.6/site-packages/Django-1.10.8-py3.6.egg
Extracting Django-1.10.8-py3.6.egg to /anaconda3/lib/python3.6/site-packages
Adding Django 1.10.8 to easy-install.pth file
Installing django-admin.py script to /anaconda3/bin
Installing django-admin script to /anaconda3/bin
Installed /anaconda3/lib/python3.6/site-packages/Django-1.10.8-py3.6.egg
Processing dependencies for Django==1.10.8
Finished processing dependencies for Django==1.10.8
其中
creating /anaconda3/lib/python3.6/site-packages/Django-1.10.8-py3.6.egg
是安装目录,因为我安装了anaconda管理,默认在这里.
再进入我们的站点目录(上一篇文章创建的项目路径),创建 Django 项目:
进入我的站点目录:
cd /Users/niexiaobo/Documents/PythonFile/stockTuSharePro
创建 Django 项目
django-admin.py startproject djangoManager
cd djangoManager
启动服务:
python manage.py runserver
显示:
...
SyntaxError: invalid syntax
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
June 05, 2018 - 03:00:38
Django version 1.10.8, using settings 'djangoManager.settings'
Starting development server at http://127.0.0.1:8000/
其中有一段错误提示:
话说这个migrate是干什么的呢,它可以让我们在修改Model后可以在不影响现有数据的前提下重建表结构。执行后目录下面多了一个文件dg.sqlite3
...
Run 'python manage.py migrate' to apply them.
按照提示要求control + c
退出后,执行python manage.py migrate
成功返回:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK
再启动服务:
python manage.py runserver
结果:
System check identified no issues (0 silenced).
June 05, 2018 - 03:08:02
Django version 1.10.8, using settings 'djangoManager.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
以上信息说明,项目已启动,访问地址为http://127.0.0.1:8000/。
在浏览器打开http://127.0.0.1:8000/ 下面显示说明成功:
接下来我们要开始创建第一个可访问接口
进入pycharm项目中的djangoManager文件夹里,创业一个view.py的Python文件,
编辑
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
同时发现项目自动创建好了一些文件,目录说明:
HelloWorld: 项目的容器。
manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
HelloWorld/settings.py: 该 Django 项目的设置/配置。
HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
修改urls.py文件(默认里面有一些信息, 情况删除), 复制下面信息到urls.py里:
from django.conf.urls import url
from . import view
urlpatterns = [
url(r'^$', view.hello),
]
本人出现from django找不到模块的情况,关闭项目重新打开,pycharm会更新链接.
在当前项目目录下重新启动: python manage.py runserver 0.0.0.0:8000
注意:不是当前项目目录下时,需要指定manage.py的绝对路径.
0.0.0.0 让其它电脑可连接到开发服务器
,8000 为端口号。如果不说明,那么端口号默认为 8000。
编辑目录下setting.py ,把其中的
ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=['*'] ##* 表示任意地址。
访问地址为http://127.0.0.1:8000 (注意不是***8000/view)