[Day 29] 部属(heroku)

订阅的资料弄好了,要用排程去跑,如果服务器是架设在自己主机上,可以用linux 的crontab跑,或是用套件 django-crontab 等等。

或是选云端主机,目前有很多云端主机可以选,我选 Heroku,因为他有免费方案,只是这个方案,没有请求的时候(request),会睡觉,下一个request 会比较久,还有一些限制,每个月只能使用550小时,加上信用卡会有额外450小时。还算够用,假设流量一大,升级就可以了。详请:heroku Free Dyno Hours

先去heorku 网站建立一个app

再来安装heroku cli

$ sudo snap install --classic heroku

venv 安装需要的套件

(venv) $ pip install gunicorn dj-database-url whitenoise

settings.py 把debug 改成 False

...python 
DEBUG = False

MIDDLEWARE = [
    ...
    'whitenoise.middleware.WhiteNoiseMiddleware',
]
...

import os
if not DEBUG:
    import dj_database_url
    db_from_env = dj_database_url.config()
    DATABASES['default'].update(db_from_env)


STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

建立 Procfile 档案 pdfProject是专案名称

web: gunicorn pdfProject.wsgi --log-file -

产生 requirements.txt,会显示这个环境下所有安装的套件名称及版本。

(venv)$ pip3 freeze > requirements.txt 

.gitignore

*.pyc
media/*

CLI登入Heroku,会跳,浏览器登入就可以了

$ heroku login

这里 我新建立的 app名称是 demo-pdf-weather

$ git init 
$ heroku git:remote -a demo-pdf-weather

$ git add .
$ git commit -m "first push"
$ git push heroku master

就会开启浏览器,就看到页面了

heroku open 

因为是新建立的,所以要建立表格要下 manage.py migrate的指令

$ heorku run python manage.py migrate

也顺便建立管理者帐号密码

$ heroku run python manage.py createsuperuser

demo 主机: https://demo-pdf-weather.herokuapp.com/

参考资料:

如果有任何写得不好的地方,请跟我说,谢谢。


<<:  Day27 JSON and serialization

>>:  【这些年我似是非懂的 Javascript】Day 28 - 物件 # Part 4 # 特性描述器 Combo

27. Vue 与 API 串接练习

课程练习 此阶段是实际串接 API 的差异,串接 API 後的一页式产品新增、删除、修改的页面。 先...

D17-(9/17)-联电(2303)-成熟晶圆代工

注:发文日和截图的日期不一定是同一天,所以价格计算上和当日不同,是很正常的。 声明:这一系列文章并无...

Day-11 Ruby里字串的单引号和双引号差别?

他们2个兄弟长的很像,但有着小小的差异! 一般人应该会以为没有差,结果居然有也… 简单来说 单引号...

Day8 PHP

PHP诞生於1995年,专门为了拿来开发动态网页的开源语言,使用者(Client)透过 HTML 或...

【後转前要多久】# Day07 CSS - 打架该听谁的?CSS权重、继承

虽然这章节可能有些无聊,迟迟没进入CSS引人兴趣的地方, 但我还是想依我学习时,所想到和纳闷的事物按...