所以你的第一个问题是为什么应用程序应该在 Virtualenv 中运行?
第一步是什么?安装 Django,对吧?不完全的。将包直接安装到当前站点包区域的一个常见问题是,如果您有多个项目或在您的机器上使用 Python 来处理 Django 以外的其他东西,您可能会遇到应用程序和已安装包之间的依赖关系问题。出于这个原因,我们将使用virtualenv
来管理我们的Django installation
. 这在 Python 和 Django 用户中很常见,也是推荐的做法。
然后使用此命令安装并激活您的 virtualenv...
$ virtualenv env
$ source env/bin/activate
最后我们激活了环境。现在它看起来像这样
(env)rs@rajasimon-desktop:~/studio/Project$
那么我猜你的第二个疑问是安装 django-toolbelt 的目的是什么?
如果您正在安装 django-toolbelt,它将安装所有需要的依赖项或包。
它包含 Django、psycopg2、gunicorn、dj-database-url、dj-static、static
首先 Heroku 原生使用 postgres。如果您在本地使用它,您的生活会更轻松。
如果你真的想使用 mysql,你有两条路可以走。
1) 在本地运行 mysql,但在使用 mysql2psql gem 迁移到 Heroku 时转换为 postgres,如下所述:https ://devcenter.heroku.com/articles/heroku-mysql
2)使用像https://addons.heroku.com/cleardb这样的 mysql 插件
但是我的建议是端到端使用 postgres,因为它已融入 Heroku,您将使用默认的 Heroku 使用方式,而不是反对
这是我正在工作的项目包
(env)ri@rajasimon-desktop:~/studio/project$ pip freeze
Django==1.6.5
MySQL-python==1.2.5
Pillow==2.5.3
argparse==1.2.1
django-ckeditor-updated==4.2.8
wsgiref==0.1.2
requirements.txt 和 Procfile 的位置应该在哪里?
如何制作 requirements.txt 文件?
通过运行以下命令将自动包含 txt 文件中的所有包。
点冻结> requirements.txt
使用 Procfile 声明进程类型
procfile 用于在生产时启动测功机。我总是这样。。
web: gunicorn project.wsgi
所以最后你的项目结构看起来像这样
myapp
|_my_app
| |_Settingd.py
| |_urls.py
| |_wsgi.py
|__webapp
| |_statics(folder)
| |_admin.py
| |_models.py
| |_views.py
|__manage.py
|__requirements.txt
|__Procfile