【问题标题】:Deploying mysql database on a django app to production server [duplicate]将Django应用程序上的mysql数据库部署到生产服务器[重复]
【发布时间】:2016-08-04 11:32:42
【问题描述】:

我正在尝试在共享主机上部署 django 应用程序。我目前在部署应用程序时遇到问题,尤其是 mysql 数据库。我已经在生产服务器上创建了 mysql 数据库。但是当尝试运行manage.py collectstatic 命令时,我收到以下附加错误。我假设它与 mysqldb 库有关。

  1. 我不知道该怎么做。部署这个 mysql 数据库
  2. 我应该将哪个 ip 地址放在 settings.py 文件中 db 配置的主机部分。是我的生产服务器 IP 地址吗?

请多多包涵,我是 django 的新手,尤其是部署部分。在 django 部署文档中找不到足够的信息。

这是我在生产服务器上遇到的错误:

    Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute
    django.setup()
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "/opt/python27/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 49, in <module>
    class AbstractBaseUser(models.Model):
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/models/base.py", line 108, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/models/base.py", line 307, in add_to_class
    value.contribute_to_class(cls, name)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/models/options.py", line 263, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/utils.py", line 212, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/utils.py", line 116, in load_backend
    return import_module('%s.base' % backend_name)
  File "/opt/python27/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home4/techaven/mydjango/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 28, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

【问题讨论】:

    标签: python mysql django


    【解决方案1】:

    这是一个重复的问题。你有你的答案>>No module named MySQLdb

    正如您在日志中看到的:加载 MySQLdb 模块时出错:没有名为 MySQLdb 的模块

    【讨论】:

    • 所以我也应该在生产服务器上安装mysql-python?
    • 是的。无论你在哪里使用 mysql,你都需要 django 的包
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多