Django with Mariadb lufy September 07, 2017 <p>Take reference from:</p> <p><a href="http://blog.csdn.net/wmj2004/article/details/53215944">http://blog.csdn.net/wmj2004/article/details/53215944</a></p> <p>As described in django documentation, mysql is supported by build in models, but in <code>./manage.py shell</code>:</p> <p><code>>>> from django.db import backends</code></p> <p>There is no <code>backends.mysql</code>, and<code> ./manage.py</code> would pop errore: <code>Error loading MySQLdb module: No module named MySQLdb</code>, the official document doesn’t work well.</p> <p>Here is how to deal with this error:</p> <p><code># pip install pymysql</code></p> <p>Then modify <code>__init__.py</code> in mysite:</p> <div><code># vim ./mysite/__init__.py</code></div> <div><code># add followed lines</code></div> <div><code><span class="crayon-r">import </span><span class="crayon-e">pymysql</span></code></div> <div><code><span class="crayon-v">pymysql</span><span class="crayon-sy">.</span><span class="crayon-e">install_as_MySQLdb</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span></code></div> <div> </div> <div>Next is how to set django site:</div> <div>Modify <code>settings.py</code></div> <div><code># vim ./mysite/settings.py</code></div> <div><code>DATABASES = {</code><code>'default': {</code><br /><code>'ENGINE': 'django.db.backends.mysql',</code><br /><code>'OPTIONS': {</code><br /><code>'read_default_file': '<em>./mysite/my.cnf</em>',</code><br /><code>'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", }</code><br /><code>}</code><br /><code>}</code></div> <div> <p><code># the last line is to activate strict mode of mysql, can be read at: </code><span><a href="https://docs.djangoproject.com/en/1.11/ref/databases/"><span>https://docs.djangoproject.com/en/1.11/ref/databases/</span></a></span></p> <p>Modify <code><em>my.cnf</em></code></p> <div><code># vim <em>./mysite/my.cnf</em></code></div> <p><code>[client]</code><br /><code>database = <em>dbname</em></code><br /><code>user = <em>dbuser</em></code><br /><code>password = <em>password</em></code><br /><code>default-character-set = utf8</code></p> <p>Make sure dbuser has proper authority.</p> <p>After all above, django site would run properly.</p> </div>
Comments (0)
Leave a Comment
No comments yet. Be the first to comment!