>  기사  >  백엔드 개발  >  Django에서 기본 데이터베이스를 mysql로 ​​변경하는 방법(상세 과정)

Django에서 기본 데이터베이스를 mysql로 ​​변경하는 방법(상세 과정)

不言
不言앞으로
2018-12-04 17:24:283391검색

이 글의 내용은 Django에서 기본 데이터베이스를 mysql로 ​​변경하는 방법(자세한 과정)입니다. 필요한 친구들이 참고하시면 좋을 것 같습니다.

Django는 기본적으로 sqlite3 데이터베이스를 사용합니다. 오늘은 이를 일반적인 mysql 데이터베이스로 교체하는 방법을 연구했습니다.

프로젝트에서 python3을 사용하고, MySQLdb에는 python3을 지원하는 버전이 없기 때문에 python3.x 버전을 사용하는 경우 pip install MySQLdb 시 오류가 보고됩니다.

나중에 Google을 통해 MySQLdb 대신 pymysql을 사용할 수 있다는 것을 알게 되었습니다.

1 프로젝트 루트 디렉터리의 __init__.py 파일에 다음 코드를 추가하세요.

import pymysql
pymysql.install_as_MySQLdb()

2 MySQLdb 대신 mysqlclient를 사용하세요.

pip install mysqlclient

3 프로젝트 설정 변경 .py의 데이터베이스 구성은 다음과 같습니다.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'username',
        'PASSWORD': 'passwd',
        'HOST': 'localhost',
        'PORT': '3306'
    }
}

4 마지막으로 python Manage.py migration 명령을 통해 Django는 자동으로 데이터베이스에 해당 테이블을 생성합니다.

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying polls.0001_initial... OK
  Applying sessions.0001_initial... OK

5 관리자를 생성할 때 사용자님, 다음과 같은 오류가 발생했습니다.

python manage.py createsuperuser
Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.

나중에 확인한 결과, 명령을 실행하는 데 git을 사용했기 때문이었습니다. Windows에 포함된 명령줄로 전환하면 문제가 해결될 수 있습니다!

위 내용은 Django에서 기본 데이터베이스를 mysql로 ​​변경하는 방법(상세 과정)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제