django with mongo using mongoengine
DESCRIPTION
Presentation for #donetskpy meetup on February 18th, 2012.TRANSCRIPT
![Page 1: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/1.jpg)
Django with Mongo usingMongoengine
Artem Dudarev#donetskpy, #cncdnua, February 2012
![Page 2: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/2.jpg)
Other ways to use Mongo with DjangoWhich Python API should be used with Mongo DB andDjango?
• PyMongo--
• Mongoengine--
• Django MongoDB Engine• MongoDB backend for Django-nonrel
![Page 3: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/3.jpg)
Django
![Page 4: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/4.jpg)
DjangoThe Web framework for perfectionists with deadlines.Using Django
• Disqus• Many newspapers: Washington Post, Guardian,
Lawrence.com.In Donetsk
• Steelkiwi• MLSDev
![Page 5: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/5.jpg)
![Page 6: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/6.jpg)
![Page 7: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/7.jpg)
MongoMongo (from "humongous") is a scalable,high-performance, open source NoSQL database.Using Mongo
• Foursquare• Catch
In Donetsk• ?
![Page 8: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/8.jpg)
MongoengineMongoEngine is a Document-Object Mapper (think ORM,but for document databases) for working with MongoDBfrom Python.
![Page 9: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/9.jpg)
Mongoengine examplefrom mongoengine import (Document, EmbeddedDocument, ListField, StringField, IntField)
class Metadata(EmbeddedDocument): tags = ListField(StringField()) revisions = ListField(IntField())
class WikiPage(Document): title = StringField(required=True) text = StringField() metadata = EmbeddedDocumentField(Metadata)
![Page 10: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/10.jpg)
Mongoengine example (cont.)>>> page.title = “Hello, World!”>>> for page in WikiPage.objects:>>> print page.title
![Page 12: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/12.jpg)
«Делайте велосипеды, но то так, чтобы хотелось на них ездить.»
— Игорь Давыденко, #kyivpy #5
![Page 13: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/13.jpg)
Tumblr• http://wearethe99percent.tumblr.com/• http://dearphotograph.com/• http://stockingisthenewplanking.com/
• http://dudarev.tumblr.com/
![Page 14: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/14.jpg)
Tumblr (cont.)http://mashable.com/2011/11/14/tumblr-infographic/
• 35M tumblogs• 45% photos• Top 5 tags: GIF, LOL, Fashion, Art, Vintage• 218% growth (from June to June)• $800M valuation
![Page 15: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/15.jpg)
Mumblr• Harry Marr - developer of Mongoengine• Mumblr - Tumblr clone
Starting with Python (virtualenv, pip)git clone https://github.com/hmarr/django-mumblr.git mumblrcd mumblrvirtualenv .source bin/activatepip install -r requirements.txtcd example
![Page 16: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/16.jpg)
Mumblr (starting Mongo)http://www.mongodb.org/display/DOCS/Quickstart+Unixcurl http://downloads.mongodb.org/linux...tgz > mongo.tgztar xzf mongo.tgzsudo chown `id -u` /data/dbsudo chown `id -u` /data/db/*./mongodb-linux-i686-2.0.2/bin/mongod
./mongodb-linux-i686-2.0.2/bin/mongouse mumblr-exampledb.dropDatabase()
![Page 17: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/17.jpg)
Mumblr (adding user)ls mumblr/management/commands/python manage.py addusepython manage.py runserver
![Page 18: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/18.jpg)
Points• Django is an excellent framework for not too
complicated sites• MongoDB is #1 NoSQL database - try it• Djangists may find Mongoengine convenient• Do reinvent the wheel• Make it easy for others to start using it
![Page 19: Django with Mongo using Mongoengine](https://reader033.vdocuments.net/reader033/viewer/2022042713/5462086bb4af9f711c8b4594/html5/thumbnails/19.jpg)
CreditsLogos
• Django• Mongo• Mongoengine
Comics• How to Write a CV• The Hard Life Of A NoSQL Coder
rst2pdf• rst2pdf• style by Alexis Métaireau was partially used