首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mongodb数据库与django项目的连接

在 Django 项目中连接 MongoDB 数据库,你需要使用一个第三方库,如 djongomongoengine

使用 djongo

  1. 安装 djongo:
代码语言:javascript
复制
pip install djongo
  1. 在 Django 项目的 settings.py 文件中,配置数据库设置:
代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'your_database_name',
        'CLIENT': {
            'host': 'mongodb://localhost:27017/',
        }
    }
}
  1. 在 Django 项目中使用 Django ORM 操作 MongoDB 数据库。

使用 mongoengine

  1. 安装 mongoengine:
代码语言:javascript
复制
pip install mongoengine
  1. 在 Django 项目的 settings.py 文件中,配置数据库设置:
代码语言:javascript
复制
from mongoengine import connect

connect(
    db='your_database_name',
    host='mongodb://localhost:27017/'
)
  1. 在 Django 项目中使用 mongoengine 操作 MongoDB 数据库。

示例:使用 djongo 创建一个简单的 Django 应用

  1. 创建一个新的 Django 项目和应用:
代码语言:javascript
复制
django-admin startproject myproject
cd myproject
django-admin startapp myapp
  1. myapp/models.py 文件中,定义一个简单的模型:
代码语言:javascript
复制
from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
  1. myproject/settings.py 文件中,配置数据库设置(如上所示)。
  2. 运行迁移命令:
代码语言:javascript
复制
python manage.py makemigrations
python manage.py migrate
  1. myapp/views.py 文件中,创建一个简单的视图来添加和显示 Person 对象:
代码语言:javascript
复制
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from .models import Person
import json

@csrf_exempt
def add_person(request):
    if request.method == 'POST':
        data = json.loads(request.body)
        person = Person(first_name=data['first_name'], last_name=data['last_name'])
        person.save()
        return JsonResponse({'status': 'success'})
    else:
        persons = list(Person.objects.all().values())
        return JsonResponse(persons, safe=False)
  1. myapp/urls.py 文件中,配置 URL:
代码语言:javascript
复制
from django.urls import path
from . import views

urlpatterns = [
    path('add_person/', views.add_person, name='add_person'),
]
  1. myproject/urls.py 文件中,包含 myapp 的 URL:
代码语言:javascript
复制
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券