热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

djangorestframework(一)django连接mongo配制方法

原创文章转载请标明出处环境配置使用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 文件)

《django rest framework(一)--django连接mongo配制方法》 1501682018(1).jpg

打开编辑mongotest/setting.py 添加

INSTALLED_APPS = (
...
'rest_framework',
'postapi' #app名称
)

连接数据库 并建立数据库模型

本教程使用本地mongodb数据库为测试对象
安装并启用本地数据库mongodb安装配置启动教程 安装并使用robo 3T连接数据库

《django rest framework(一)--django连接mongo配制方法》 image.png

如连接云mongodb 首先需在云服务器mongodb配置密码(不是云服务器账号密码)

并在这配置数据库账号密码

《django rest framework(一)--django连接mongo配制方法》 image.png

数据库模型用来存储代码片段。那么来编辑 postapi/models.py文件吧。注意:一个好的编程实践会含有注释

首先我们来了解下mongo结构

《django rest framework(一)--django连接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单独运行测试数据库是否正常连接


推荐阅读
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 在学习网页爬虫时,使用Selenium进行自动化操作。初次安装selenium模块后,第二天运行代码时遇到了ImportError:无法从'selenium'导入名称'webdriver'。本文将详细解释该问题的原因及解决方案。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文介绍了如何在Django项目中使用django-crontab库来设置和管理定时任务,包括安装、配置、编写定时任务以及常见问题的解决方案。通过具体实例,帮助开发者快速掌握在Django中实现自动化任务的方法。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • 利用 Jest 和 Supertest 实现接口测试的全面指南
    本文深入探讨了如何使用 Jest 和 Supertest 进行接口测试,通过实际案例详细解析了测试环境的搭建、测试用例的编写以及异步测试的处理方法。 ... [详细]
  • 本文详细介绍了Django框架内置的对象关系映射(ORM)机制,包括其工作原理、如何连接MySQL数据库以及ORM的主要优势和局限性。同时,提供了配置和使用Django ORM的具体步骤。 ... [详细]
  • 作为一门广受赞誉的编程语言,Python因其简洁性和强大的功能,在Web开发、游戏设计、人工智能、云计算、大数据处理、数据科学、网络爬虫及自动化测试等多个领域得到广泛应用。本文将介绍2018年最受欢迎的五款Python框架,帮助开发者更好地选择合适的工具。 ... [详细]
author-avatar
prescott1972
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有