Django와 MongoDB 연결: 모든 버전 관리 헛소리 분석(2022년 에디션)
4040 단어 djangoprogrammingpythonmongodb
여기서는 최신 Django 버전 2.2.26 및 Python 버전 3.6 이상을 사용하고 있다고 가정합니다.
MongoDB가 이미 설치되어 있으면 1단계를 건너뜁니다. Django와 연결하는 데 사용할 2개의 드라이버를 더 잘 이해하려면 버전을 한 번 확인하십시오.
MongoDB 버전 사용을 확인하려면-
mongod --version
1 단계
다음 명령을 사용하여 터미널에서 로컬에 MongoDB를 설치합니다.
추출 설치[email protected]
Windows의 경우 설치 프로그램을 다운로드하고 제공된 단계를 따라야 합니다here.
2 단계
here에서 MongoDB Compass를 다운로드합니다. SQLWorkbench와 같은 사용자 친화적인 인터페이스를 제공하며 거기에서 무료로 MongoDB 클러스터를 실행할 수도 있습니다. 응용 프로그램은 다음과 같습니다.
3단계
Django 프로젝트에 연결
터미널을 통해 djongo 설치-
pip install djongo
실제로 djongo를 사용하여 Django 프로젝트와 MongoDB를 연결하려면 settings.py 파일에 다음을 추가하기만 하면 됩니다.
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'YOUR_DATABASE_NAME',
'HOST': 'localhost',
'PORT': '27017'
}
}
MongoEngine 사용
mongoengine을 사용하여 Django 프로젝트와 MongoDB를 연결하려면 settings.py 파일에 다음을 추가해야 합니다.
_MONGODB_USER = ""
_MONGODB_PASSWD = ""
_MONGODB_HOST = "localhost"
_MONGODB_NAME = "YOUR_DATABASE_NAME"
_MONGODB_PORT = 27017
_MONGODB_DATABASE_HOST = "mongodb://%s:%s@%s/%s" % (
_MONGODB_USER,
_MONGODB_PASSWD,
_MONGODB_HOST,
_MONGODB_NAME,
)
mongoengine.connect(_MONGODB_NAME, host=_MONGODB_HOST, port=_MONGODB_PORT)
그런 다음 models.py 파일에서 가져와서 사용할 수 있습니다.
파이몽고 사용
최신 pymongo 버전은 최신 mongoDB v5.0과 호환되지 않는 4.0.2입니다. 이 오류가 발생한 후 pymongo 버전을 다운그레이드했습니다.
pymongo.errors.ConfigurationError: Server at xxxx:xx reports wire version 5, but this version of PyMongo requires at least 6 (MongoDB 3.6).
파이 몽고 v 3.12.1
몽고DB v 5.0.5
소스 - pypi.org
버전 관리 헛소리 때문에 나는 꺼졌습니다.
주요 테이크 아웃
Django는 Django와 연결하기가 매우 쉽습니다. (저는 3개 모두 연결을 시도했지만 어떻게든 pymongo의 버전 비호환성으로 인해 djongo와 연결할 수 없었습니다.)
분명히 Djongo는 pymongo 및 sqlparse에 종속되어 있으므로 Djongo를 설치한 후 pymongo에 적합한 버전을 가져와야 합니다.
이제 올라가서 pymongo의 버전 관리 문제를 확인하면 MongoDB v5.0이 PyMongo의 v 4.0과 호환되지 않는다는 것을 알 수 있습니다.
pymongo의 버전을 다운그레이드하려면 다음 명령을 실행하십시오.
python3 -m pip install pymongo==3.12.1
Reference
이 문제에 관하여(Django와 MongoDB 연결: 모든 버전 관리 헛소리 분석(2022년 에디션)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shlokabhalgat/connecting-django-with-mongodb-all-the-versioning-shenanigans-dissected-2022-edition-13km텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)