Django
1.构建项目
1.1
django-admin startproject StockPro
目录:
- StockPro: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- StockPro/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- StockPro/settings.py: 该 Django 项目的设置/配置。
- StockPro/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
- StockPro/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
2.构建APP
点击菜单栏的 Tools -> Run manage.py task 选项,之后在输入界面输入 startapp appName(你的App名称) 回车即可。
Projects vs apps
所谓 app 是指完成一些功能的 web 应用,比如博客系统(weblog system),公共记录的数据库(a database of public records)或者是一个简单的投票系统(a simple poll app)。project 是指一个特定网站的一系列配置文件和应用的集合。一个项目(project)可以包含多个应用(app),一个应用(app)可以被多个项目(project)使用。
3.连接数据库
修改项目根目录下的settings.py
在子app下的models.py添加需要构建的表
在子app下的_init_.py添加
import pymysql
pymysql.install_as_MySQLdb()
需要打开anaconda进入到项目根目录下执行
python manage.py makemigrations 生成数据库的迁移文件
python manage.py migrate 生成model下的表
4.修改tushare返回值
F:\Anaconda3\Lib\site-packages\tushare\pro\client.py
原始:
if result['code'] != 0:
raise Exception(result['msg'])
data = result['data']
columns = data['fields']
items = data['items']
在 if result['code'] != 0:
上面添加一句 return result
,下判断返回的 code 值,如果是2002即为权限问题,如果是0就继续解析
5.发送邮件
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com
EMAIL_PORT = 465
EMAIL_HOST_USER = '386965035@qq.com'
EMAIL_HOST_PASSWORD = 'cdqbohvhkwydcadh' # 用授权码来替换qq密码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
在 test.py 中如下引用:
from django.core.mail import send_mail
# 一个收件人
def send_email(request):
send_mail('标题', '文本内容', 'mxxct <from@qq.com>',
['to@qq.com'], fail_silently=False)
# mxxct <from@qq.com>:mxxct 用来替换发件人姓名,类似起别称
return HttpResponse("测试发送邮件")
6.项目执行的顺序
url -> view -> function -> 编译 templates 下的 html -> .html