본문 바로가기

programmer/DJango

Django 에서 초기 설정 시 격는 에러들(access denyed , str decode 등)

Django에서 초기 설정을 진행하면서 발생한 에러들을 정리해 보았다.

초기 설정을 물흐르듯 따라가다보면 설정 에러들이 연어가 물살을 거스르는 것 처럼 팡팡 터져서 다 잡아먹고싶지만 유유히 처리해 보자.

1. mysql 마이그레이션 시 접근 권한 문제이다.

1.1 mysql 권한 확인 및 권한 설정하기.

Mysql 접속

$mysql -u root -p

>>USE mysql;

1.2 권한이 주어진 유져와 비밀번호 형식 보기

>> Seelect User, Host, plugin From mysql.user;

1.3 'root' 계정 페스워드를 'mysql_native_passwor'로 설정

>> update user set plugin='mysql_native_password' where user='root';

>> flush privileges;

데이터 베이스들 보기

>>show Databases;

1.4 pymysql import 문제

Error loading MySQLdb modulle.

이 발생할때는 Settings.py에 

import pymysql
pymysql.install_as_MySQLdb()

를 입력해 준다.


2. pymysql databse 설정

blog.daum.net/billbo/52 <-- 이곳에서 잘 성명되어 있다.

base, data dir 확인

하지만 django 버전이 3.0.7이하면 에러가 발생할 것이다.

3. django str decode 에러 해결하기

3.1 django가 어디에 설치 되어 있는지 확인한다. 

$django-admin check

django 설치 위치

:~/.pyenv/versions/3.7.5/envs/aws_py375/lib/python3.7/site-packages/django/db/backends/mysql

3.2 operations.py 수정

$vi operations.py

query - query.decode(errors='replace') 대신

query = errors = 'replace'를 입력해준다.
값 수정시 tab 사용하지말고 스페이스바로 tap 설정만큼 띄어줘야 indent 에러가 발생하지 않는다.

구글형한테 물어보니 django 3.0.7 버전에서는 해결 됐다고 한다.

 

operations.py

 

$python manage.py migrate

3.3 8000번 포트로 서버를 시작해보자.

$python manage.py runserver 0.0.0.0:8000

 

4. DisallowedHost at ~ ALLOWED_HOSTS 에러

열심히 했는대 아래와 같은 에러가 뜬다면

4.1 Django 프로젝트에서 setting.py 수정

에러에서 설명해주는 바와 같이 ALLOWED_HOSTS 안에 ''를 사용하여 허용하고 싶은 IP를 입력해 준다. '*'은 모두 접속 가능하게 열어주는 설정이다.

 

반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기