python 스 택 개발 기초 지식 학습-Django 프레임 워 크(4.자주 발생 하 는 오류)

2319 단어 python 스 택 학습
목차
질문 1:데이터베이스 변경
질문 2:No module named'MySQLdb'질문
질문
질문
질문 1:데이터베이스 변경
django 는 기본적으로 sqlite 데이터 베 이 스 를 사용 합 니 다.기본 값 은 sqlite 데이터베이스 구동 입 니 다.엔진 이름:django.db.backends.sqlite 3 입 니 다.MySQL 을 사용 해 야 한다 면 settings.py 의 내용 을 수 동 으로 수정 해 야 합 니 다.
해결 방법:
  DATABASES,         MySql。

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql', 

        'NAME': 'books',    #       

        'USER': 'root',   #        

        'PASSWORD': '', #       

        'HOST': '', #       ,     localhost

        'PORT': '3306', #       

    }

}

문제 2:No module named'MySQLdb'
이것 은 django 가 기본적으로 가 져 온 드라이버 가 MySQLdb 이기 때 문 입 니 다.그러나 MySQLdb 는 py3 에 큰 문제 가 있 기 때문에 우리 가 필요 로 하 는 드라이버 는 PyMySQL 입 니 다.
그래서 우 리 는 프로젝트 이름 파일 에 있 는 만 찾 아야 합 니 다.init__,안에 쓰기:
해결 방법:
import pymysql
pymysql.install_as_MySQLdb()

문제 3:
    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

해결 방법:
         python   
C:\Python37\Lib\site-packages\django\db\backends\mysql(python    )  base.py,       :

if version < (1, 3, 13):
    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)


문제 4:
File "C:\Python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query

    query = query.decode(errors='replace')

  AttributeError: 'str' object has no attribute 'decode'

해결 방법:
      :      146  decode   encode

문제 5:
python 3.7+Django 2.1.3 을 사용 할 때 모델 류 관련 외부 키 를 만 들 때 다음 과 같은 오 류 를 보고 합 니 다.
Traceback (most recent call last):
  xxxxxxxxxxx
TypeError: __init__() missing 1 required positional argument: 'on_delete'

해결 방법:
#        `on_delete=`    
student_grade = models.ForeignKey('Grades', on_delete=models.CASCADE)

좋은 웹페이지 즐겨찾기