使用Djongo模块在Django中使用MongoDB数据库,需要遵循以下步骤:
步骤一:安装Djongo模块
Djongo是Python的模块,是Django-MongoDB数据库连接器。我们可以使用Python的包管理器pip来安装Djongo。
在终端或命令行中运行如下命令:
pip install djongo
步骤二:创建Django项目
使用Django创建一个项目,可以在终端中运行如下命令:
django-admin startproject project_name
步骤三:创建Django应用
Django项目由一个或多个应用构成。我们需要创建一个新的应用来处理所有MongoDB数据库相关的操作。
在终端中运行如下命令:
python manage.py startapp app_name
步骤四:配置Djongo模块
打开Django项目中的settings.py
文件,在DATABASES
选项中增加MongoDB的连接信息。
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'db_name',
'HOST': 'localhost',
'PORT': 27017,
'USER': 'username',
'PASSWORD': 'password',
}
}
在这里:
ENGINE
设置为djongo
,使用Djongo模块连接MongoDB数据库NAME
是MongoDB数据库的名称HOST
是MongoDB数据库的IP地址或域名PORT
是MongoDB数据库的端口号USER
是MongoDB数据库的用户名PASSWORD
是MongoDB数据库的密码
步骤五:定义MongoDB数据模型
Django中使用MongoDB,需要定义数据模型。在Django应用中创建一个新的models.py
文件,定义MongoDB中的模型类。
例如,我们在MongoDB中定义一个book
数据模型:
from djongo import models
class Book(models.Model):
name = models.CharField(max_length=100)
author = models.CharField(max_length=100)
pages = models.IntegerField()
这个模型类包含了书本的名称、作者和页数。
步骤六:创建MongoDB数据集合
打开终端,进入Django项目的根目录,运行以下命令:
python manage.py makemigrations
这个命令会根据MongoDB的模型,自动创建需要在MongoDB中创建的数据集合。
然后用以下命令生成表:
python manage.py migrate
这个命令会将模型同步到MongoDB的数据库中。
示例一:用Django创建一本书
以上步骤中我们定义了一个MongoDB的Book
模型类,我们可以使用Django创建一本新书。
首先在views.py
中添加以下代码:
from django.shortcuts import render
from django.http import HttpResponse
from .models import Book
def add_book(request):
book = Book(name='My Book', author='John Doe', pages=100)
book.save()
return HttpResponse('Book added!')
这个代码定义了一个add_book()
视图函数,它创建了一本新书,保存到MongoDB数据库中。
在urls.py
中添加以下代码:
from django.urls import path
from . import views
urlpatterns = [
path('add_book/', views.add_book, name='add_book'),
]
这个代码定义了一个路由,将add_book()
函数与/add_book/
URL路径映射起来。
现在你可以在浏览器中访问http://localhost:8000/add_book/
URL路径,创建一本新书。
示例二:显示所有书籍
打开views.py
文件,添加以下代码:
from django.shortcuts import render
from .models import Book
def show_books(request):
books = Book.objects.all()
return render(request, 'books.html', {'books': books})
这个代码定义了一个show_books()
视图函数,读取MongoDB数据库中的所有书籍,并生成网页模板books.html
。
在urls.py
中添加以下路由:
from django.urls import path
from . import views
urlpatterns = [
path('show_books/', views.show_books, name='show_books'),
]
这个代码定义了一个路由,将show_books()
函数与/show_books/
URL路径映射起来。
创建books.html
网页模板:
<!DOCTYPE html>
<html>
<head>
<title>Books List</title>
</head>
<body>
<h1>Books List</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Author</th>
<th>Pages</th>
</tr>
</thead>
<tbody>
{% for book in books %}
<tr>
<td>{{ book.name }}</td>
<td>{{ book.author }}</td>
<td>{{ book.pages }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
这个网页模板显示MongoDB中的所有书籍。
现在你可以在浏览器中访问http://localhost:8000/show_books/
URL路径,显示所有书籍的信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Djongo模块在Django中使用MongoDB数据库 - Python技术站