django mongoengine使用小记
2012-10-13 17:44
351 查看
最近在用 django 和 mongodb 做个小论坛, 记录一下自己学习的过程, 希望能对大家有所帮助,
首先, 说说感受吧, 用过一段时间的 webpy, 换到 django 还真的觉得 django 是用 django 来写
web 应用, 还是喜欢 webpy 用 python 写 web 应用的方式, 其次就是使用 nosql, 这货使用感觉不错,
但是建模不像 RDB 那样有三大范式这样的准则, 所以导致自由度很大, 所以当你要用 nosql 的时候,
确实对数据要理解更深, 毕竟设计哲学是专注问题, 而不是专注结果。
下面说说如何在 django 中使用 mongodb 吧, 方式有很多种, 不过据说 mongoengine 是比较
靠谱的, 个人使用过程也觉得很靠谱。
安装:
参考这个文章吧: http://simple-is-better.com/news/386
还有官方文档: https://mongoengine-odm.readthedocs.org/en/latest/
也就是 pip install mongoengine
主要说说使用过程:
首先在 settings.py 导入 mongoengine
如果你想使用 django 的 session 和 authentication 这两个框架, 还要加入
下面的代码:
这样之后就可以使用 mongoengine 来连接 mongodb 了。
打开你的 app 中 models.py 这个文件。
是不是和原来的 model 框架使用很像, 这个库也是为了你能快速上手而这样设计的。
然后在你的 views.py 文件就可以使用User了。
这样 CURD 就有了, 只是官方文档没有怎么说 update 的用法, 其实跟 mongodb shell 操作类似,
只是 '$' 号换成了双'__', 也就是像 SET__FIELD = ‘value’, set可以是别的命令, 如push, pull等等,
filed就是你要更新的字段。
还有就是想说说如何来使用 django 中 authentication 这个框架, 官方文档没怎么提到,
自己看了一下源代码, 才摸索出来的。
导入 User
要使用认证的话就需要 django 自带的框架了
这样来使用, 像login, logout 也是这样使用的。
网上没有这块资料, 所以写写。
首先, 说说感受吧, 用过一段时间的 webpy, 换到 django 还真的觉得 django 是用 django 来写
web 应用, 还是喜欢 webpy 用 python 写 web 应用的方式, 其次就是使用 nosql, 这货使用感觉不错,
但是建模不像 RDB 那样有三大范式这样的准则, 所以导致自由度很大, 所以当你要用 nosql 的时候,
确实对数据要理解更深, 毕竟设计哲学是专注问题, 而不是专注结果。
下面说说如何在 django 中使用 mongodb 吧, 方式有很多种, 不过据说 mongoengine 是比较
靠谱的, 个人使用过程也觉得很靠谱。
安装:
参考这个文章吧: http://simple-is-better.com/news/386
还有官方文档: https://mongoengine-odm.readthedocs.org/en/latest/
也就是 pip install mongoengine
主要说说使用过程:
首先在 settings.py 导入 mongoengine
from mongoengine import connect connect('test') # your database
如果你想使用 django 的 session 和 authentication 这两个框架, 还要加入
下面的代码:
# add session SESSION_ENGINE = 'mongoengine.django.sessions' # add authentication AUTHENTICATION_BACKENDS = ( 'mongoengine.django.auth.MongoEngineBackend', )
这样之后就可以使用 mongoengine 来连接 mongodb 了。
打开你的 app 中 models.py 这个文件。
class User(Document): email = StringField(required=True) first_name = StringField(max_length=50) last_name = StringField(max_length=50)
是不是和原来的 model 框架使用很像, 这个库也是为了你能快速上手而这样设计的。
然后在你的 views.py 文件就可以使用User了。
from models import User # insert tom = User(email='xxx@xxx.xxx', first_name='tom', last_name='hanks') tom.save # find all users = User.objects() # find one tom = User.objects(first_name='tom').first() # update tom.update(set__last_name='green') # delete tom.delete()
这样 CURD 就有了, 只是官方文档没有怎么说 update 的用法, 其实跟 mongodb shell 操作类似,
只是 '$' 号换成了双'__', 也就是像 SET__FIELD = ‘value’, set可以是别的命令, 如push, pull等等,
filed就是你要更新的字段。
还有就是想说说如何来使用 django 中 authentication 这个框架, 官方文档没怎么提到,
自己看了一下源代码, 才摸索出来的。
导入 User
from mongoengine.django.auth import User # create user User.create_user(username='runforever', password='******')
要使用认证的话就需要 django 自带的框架了
from django.contrib import auth # authentication user = auth.authentication(username='username', password='password')
这样来使用, 像login, logout 也是这样使用的。
网上没有这块资料, 所以写写。
相关文章推荐
- django中使用mongoengine保存字典结构的数据到数据库。
- (centos)Django下jpype使用小记
- MongoEngine__新手教程(五)在django框架里使用mongodb
- Django学习笔记—Comments库的使用方法小记
- jQuery serialize()使用小记
- Python - Django分布式Celery使用
- django中使用mysql的准备动作
- 如何把nicEditor集成到django中使用
- 深度Linux使用小记
- Java transient关键字使用小记
- django template 自定义filter的使用
- ffmpeg 使用小记 h264 to ts
- django使用总结
- TokyoTyrant的管理工具tcrmgr使用小记
- Django框架中的对象列表视图使用示例
- 使用Django实现分页器功能
- 使用Python的Django框架结合jQuery实现AJAX购物车页面
- Python - Django的超简单使用
- csdn MarkDown 使用小记
- jQuery UI AutoComplete 自动完成使用小记