部署方式:Mezzanine + MySQL

部署方式:Mezzanine + MySQL

因此,这里有一个问题:

如何部署夹层,一个 Django CMS,本地使用 MySQL 而不是默认的 SQLite?

具体的配方是什么样的?

答案1

完整的脚本位于->这里

1. Python

Python 已预安装在 Ubuntu 中,据我所知,它对于某些系统/桌面环境操作至关重要,但以防万一:

sudo apt-get install python
sudo apt-get install python-pip
sudo apt-get install build-essential python-dev

2. MySQL

您需要安装(a)服务器、(b)客户端、(c)开发库和标头、(d)python 适配器

sudo apt-get install mysql-server
sudo apt-get install mysql-client-5.5
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-mysqldb

3. 凭证

建立 MySQL 凭证,相关教程如下->这里,这样您就有了以下用户和相应的登录命令:

  • root 用户

    mysql -u root -p / password 
    
  • 夹层用户

    mysql -u mezz -p / masterkey 
    

4. 安装夹层

pip install mezzanine

5. 创建项目

mezzanine-project myproject
cd myproject

6.配置数据库为MySQL

使用步骤 3 中的凭据。

vim local_settings.py

这是一个 Python 文件。DATABASES 变量应设置为如下形式(使用您的凭据斜体地点):

数据库 = {
    “默认”: {
        # 以“postgresql_psycopg2”、“mysql”、“sqlite3”或“oracle”结尾。
        “引擎”:“django.db.backends.mysql”,
        # 如果使用 sqlite3,则为数据库名称或数据库文件的路径。
        “姓名”: ”我的项目“,
        # 不与 sqlite3 一起使用。
        "用户":"夹层“,
        # 不与 sqlite3 一起使用。
        “密码”: ”主密钥“,
        # 将 localhost 设置为空字符串。不用于 sqlite3。
        “主持人”: ””,
        # 默认设置为空字符串。不适用于 sqlite3。
        “港口”: ””,
    }
}

7. 进行夹层锻炼

收集静态文件和模板

python manage.py collectstatic  
python manage.py collecttemplates  

与数据库同步。此步骤取决于 Django 版本,在撰写本文时,Django 1.7 仍不受支持,因此使用syncdb

python manage.py syncdb

您可能还考虑使用 South 迁移管理器,但要知道,由于 Django 1.7 有了新的迁移系统,South 项目已经走到了尽头。

syncdb 输出后,您将拥有一个超级用户(用于进入 Mezzanine 的管理部分)。您可以在同步后单独创建超级用户:

python manage.py createsuperuser

运行Mezzanine内置服务器(更具体地说,它是Django的轻量级服务器):

python manage.py runserver

8. 去

将浏览器指向http://127.0.0.1:8000,希望您能看到 Mezzanine 标准问候语。

9. 生产部署

->这里是一个很好的指南,您可以使用它在生产环境中创建一个演示站点(在该特定站点上它是免费的,但有一些限制)。并且这里是他们对 MySQL 的设置。

10. 附加内容

11.“修订”

我在途中收集了一些修订内容:

  • 南迁移管理器需要对 settings.py 的数据库部分进行一些更改。
  • Mezzanine 和版本控制对我来说似乎非常令人沮丧:它不支持 django 1.7,并且在我的托管提供商上没有 root 访问权限,所以我应该通过 pip 安装 MySQL-Python(“适配器”)。某些版本的 adapter-mezzanine-django 不兼容。

目前,我使用 Mezzanine v3.1.10、Django v1.6.10 和 MySQL-Python v1.2.3,并且一切正常。我禁用了 South 后端插件,因为它使我的部署变得更复杂而不是更简单。

12. 后记

如果有人建议我如何改进本指南,我会这么做。jD

相关内容