根据官方网站上的django教程,django根据models.py
中定义的模型创建数据库模式。但是数据库的默认引擎是sqlite3
。它正在发挥作用。
现在当我为django安装了mysql
和Mysql Connector
时,我试图创建一个遇到以下错误的数据库:
mysql.connector.errors.ProgrammingError: 1049 (42000): Unknown database 'db.mysql.userdb'
我搜索了错误并找到了解决此问题的方法,但所有人都提到我必须使用MYSQL Shell
自行创建数据库。但这不是我想要的!根据django网站,我必须定义我的模型,django创建数据库的模式! 我该怎么做?
提前致谢。
以下是我的sttings.py
文件:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
SECRET_KEY = '94sf3cp(#a^)9!^zrr^zr3dfdk0nz$*4=m#v19*v)j&q^o$#ym'
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'website_user',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'Final_DBMI.urls'
WSGI_APPLICATION = 'Final_DBMI.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
'NAME': 'db.mysql.userdb',
'USER': 'hadi',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/statics/'
更新 我使用这个doc并且根据有两种方法连接到mysql:
我正在使用第二个。根据{{3}},应按以下方式将其添加到settings.py
:
DATABASES = {
'default': {
'NAME': 'user_data',
'ENGINE': 'mysql.connector.django',
'USER': 'mysql_user',
'PASSWORD': 'priv4te',
'OPTIONS': {
'autocommit': True,
},
}
}
答案 0 :(得分:3)
Django创建表。它不会创建表所在的数据库;你必须这样做。
答案 1 :(得分:0)
像这样的数据库设置,
使用pip
在您的环境中安装mysql-pythonpip install mysql-python
使用以下命令
在mysql中创建数据库(userdb)create database userdb;
然后你的settings.py文件遵循这些设置,
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'userdb',
'USER': 'mysql username',
'PASSWORD': 'mysql password',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
以下是参考链接https://docs.djangoproject.com/en/dev/ref/settings/#databases