Loading

Django

date: 2019-05-15 17:02:37
updated: 2019-05-22 10:45:34

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

posted @ 2020-10-22 09:32  猫熊小才天  阅读(86)  评论(0编辑  收藏  举报