在本节中,我们将通过创建超级用户来改进部署,就像在本地一样。我们还将让这个项目更安全:将DEBUG 设置为False ,让用户在错误消息中看不到额外的信息,以防他们 使用这些信息来攻击服务器。
我们知道可使用命令heroku run来执行一次性命令,但也可这样执行命令:在连接到了Heroku服务器的情况下,使用命令heroku run bash来打开Bash终端会话。Bash是众多Linux终端运行的语言。我们将使用Bash终端会话来创建超级用户,以便能够访问在线应用程序的管理网站:
heroku run bash
Running bash on ⬢ secret-crag-77811... up, run.4527 (Free)
ls:查看服务器上有哪些文件和目录;应该和本地相同
~ $ ls
learning_log manage.py requirements.txt users
learning_logs Procfile runtime.txt
python3 manage.py createsuperuser
Username (leave blank to use 'u46858'): ll_admin
Email address:
Password:
Password (again):
Superuser created successfully.
$ exit:返回本地系统的终端对话
现在,你可以在在线应用程序的URL末尾添加/admin来登录管理网站了,如果有其他人开始使用这个项目,则可以访问他们的所有数据。
2.在Heroku上创建对用户友好的URL
为了让url更友好更好记,可使用一个命令来重命名应用程序:
$ heroku apps:rename hgl-learning-log
名字只能是数字、字母和连字符,现在的项目名称变成了https://hgl-learning-log.herokuapp.com/
终端输出:
Renaming secret-crag-77811 to hgl-learning-log... done
https://hgl-learning-log.herokuapp.com/ | https://git.heroku.com/hgl-learning-log.git
Git remote heroku updated
▸ Don't forget to update git remotes for all other local checkouts of the
▸ app.
注意:
使用Heroku提供的免费服务来部署项目时,如果项目在指定的时间内未收到请求或过于活跃,Heroku将让项目进入休眠状态。用户初次访问处于休眠状态的网站时,加载时间将更长,但对于后续请求,服务器的响应速度将更快。这就是Heroku能提供免费部署的原因所在。