当前位置: 首页 > 面试题库 >

设置Django以使用MySQL

柯默
2023-03-14
问题内容

我想稍微远离PHP,学习Python。为了使用Python进行Web开发,我需要一个框架来帮助模板和其他事情。

我有一台非生产服务器,用于测试所有Web开发内容。这是一个运行MariaDB而不是常见的MySQL服务器软件包的Debian 7.1 LAMP堆栈。

昨天我安装了Django并创建了我的第一个项目firstweb。我尚未更改任何设置。

这是我的第一个大困惑。在教程中,我跟随那个家伙安装了Django,开始了他的第一个项目,重新启动了Apache,从那时起Django就开始工作了。他转到浏览器,然后毫无问题地转到Django默认页面。

但是我,我必须进入我的firstweb文件夹并运行

python manage.py runserver myip:port

而且有效。没问题。但是我想知道它是否应该像这样工作,并且这是否会引起问题?

我的第二个问题是我想对其进行设置,以便它使用我的MySQL数据库。我进入/ firstweb / firstweb下的settings.py,看到了ENGINE和NAME,但不确定在这里放什么。

然后在USER,PASSWORD和HOST区域中,这是我的数据库及其凭据吗?如果我使用本地主机,是否可以将本地主机放在HOST区域中?


问题答案:

MySQL支持很容易添加。在你的DATABASES字典中,你将有一个像这样的条目:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

从Django 1.7开始,你还可以选择使用MySQL 选项文件。你可以这样设置DATABASES数组来完成此操作:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}

你还需要/path/to/my.cnf使用上面的类似设置来创建文件

[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8

使用Django 1.7中的这种新连接方法,了解已建立的顺序连接很重要:

1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.

换句话说,如果你在OPTIONS中设置数据库的名称,它将优先于NAME,而NAME将覆盖MySQL选项文件中的所有内容。

如果你只是在本地计算机上测试应用程序,则可以使用

python manage.py runserver

添加ip:port参数允许你自己的机器以外的其他机器访问你的开发应用程序。准备好部署应用程序后,建议你阅读djangobook上有关部署Django的章节

MySQL默认字符集通常不是utf-8,因此请确保使用以下sql创建数据库:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin

如果你正在使用Oracle的MySQL的连接器的ENGINE线应该是这样的:

'ENGINE': 'mysql.connector.django',

请注意,你首先需要在操作系统上安装mysql。

brew install mysql (MacOS)

此外,mysql客户端软件包已针对python 3进行了更改(MySQL-Client仅适用于python 2)

pip3 install mysqlclient


 类似资料:
  • 问题内容: 我正在尝试使用Eclipse设置Django。现在,我正在创建一个新的Pydev Django项目,并收到“找不到Django”错误消息。 当我尝试通过命令行验证Django是否集成时,它可以工作。 我刚好有两个python安装,分别是2.7和3.2,而且我确定我正在使用Eclipse(和命令行)中的2.7。我究竟做错了什么? 问题答案: 如果在安装django之前添加了python解

  • 问题内容: 但是,我可以仅在AWS(Elasticache)上创建Redis实例并将其端点添加到Django设置中吗?例如,使用Django- redis : 我怀疑以上情况可能会导致多个beantalk服务器实例出现问题。鉴于此,鉴于有一个显式编写的用于与AWS Elasticache for Memcache接口的Django包,我很想使用MemCache而不是Redis:django- el

  • 问题内容: 有没有一种方法可以使用模型的整数ID设置外键关系?这将出于优化目的。 例如,假设我有一个Employee模型: 和 我希望拥有无限的员工类型的灵活性,但是在部署的应用程序中可能只有一个类型,所以我想知道是否有一种方法可以对ID进行硬编码并以此方式设置关系。这样,我可以避免通过数据库调用先获取EmployeeType对象。 问题答案: 是的: ForeignKey字段将它们的值存储在最后

  • 问题内容: 我正在尝试在Django 1.2中使用local_setting ,但对我来说不起作用。目前,我只是将local_settings.py添加到我的项目中。 settings.py local_settings.py 问题在于local_settings.py不会覆盖settings.py。怎么了? 问题答案: 你不仅可以添加local_settings.py,还必须显式导入它。 在最后

  • 本文向大家介绍Python Django中的STATIC_URL 设置和使用方式,包括了Python Django中的STATIC_URL 设置和使用方式的使用技巧和注意事项,需要的朋友参考一下 使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了。特记录下来。 关键的概念:Django中,静态资源的存放通

  • 问题内容: 我在Win Server 2008 R2上设置django-mssql时遇到一些问题。我已经安装了所有内容,但是django-mssql的Wiki说要设置设置文件,类似于: 当我从站点目录运行时: 我收到一条错误消息,指出它不是可用的数据库后端。当我安装django-mssql时,似乎在这里安装了后端\ site-packages \ django_mssql-1.0.1-py2.7.