作者:prescott1972 | 来源:互联网 | 2023-09-17 19:09
原创文章转载请标明出处环境配置使用mongoengine操作数据库pipinstalldjangopipinstalldjangorestframeworkpipinstallmo
原创文章转载请标明出处
环境配置
使用mongoengine操作数据库
pip install django
pip install djangorestframework
pip install mongoengine
因为Mongoengine和Pymongo版本不兼容
pip uninstall pymongo
pip install pymOngo==2.8
在目标文件下
创建django项目
project为项目名称
django-admin.py startproject project
进入根目录 然后我们创建一个app,来构建简单的Web API。
cd tproject
python manage.py startapp postapi
postapi为app名称
准备工作完毕
使用pycharm打开整个目录
目录结构如图
(新建项目无serializers.py和postapi/urls.py 文件)
1501682018(1).jpg
打开编辑mongotest/setting.py
添加
INSTALLED_APPS = (
...
'rest_framework',
'postapi' #app名称
)
连接数据库 并建立数据库模型
本教程使用本地mongodb数据库为测试对象
安装并启用本地数据库mongodb安装配置启动教程 安装并使用robo 3T连接数据库
image.png
如连接云mongodb 首先需在云服务器mongodb配置密码(不是云服务器账号密码)
并在这配置数据库账号密码
image.png
数据库模型用来存储代码片段。那么来编辑 postapi/models.py
文件吧。注意:一个好的编程实践会含有注释
首先我们来了解下mongo结构
image.png
#coding=utf-8
from __future__ import unicode_literals
from mongoengine import *
from django.db import models
#
connect('lxqcxcy', host='127.0.0.1', port=27017) #lxqcxcy为库名
# Create your models here.
class Post(Document):
_id = ObjectIdField()
title = StringField()
# # url = scrapy.Field() # 帖子的网页链接
author = StringField() # 帖子的作者
post_time = StringField() # 发表时间
mainimg_url = StringField()
summary = StringField() #概述
tag = StringField() #标签
post_from = StringField()
cOntent= StringField() # 帖子的内容
meta = {'collection': 'Post'} #连接指定表
for i in Post.objects[:10]: # 测试是否连接成功
print(i._id)
mongoengine models 与django models还是有一定区别
右键点击models.py单独运行测试数据库是否正常连接