19
Django with Mongo using Mongoengine Artem Dudarev #donetskpy, #cncdnua, February 2012

Django with Mongo using Mongoengine

  • Upload
    dudarev

  • View
    9.916

  • Download
    1

Embed Size (px)

DESCRIPTION

Presentation for #donetskpy meetup on February 18th, 2012.

Citation preview

Page 1: Django with Mongo using Mongoengine

Django with Mongo usingMongoengine

Artem Dudarev#donetskpy, #cncdnua, February 2012

Page 3: Django with Mongo using Mongoengine

Django

Page 4: Django with Mongo using Mongoengine

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
Page 6: Django with Mongo using Mongoengine
Page 7: Django with Mongo using Mongoengine

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

MongoengineMongoEngine is a Document-Object Mapper (think ORM,but for document databases) for working with MongoDBfrom Python.

Page 9: Django with Mongo using Mongoengine

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

Mongoengine example (cont.)>>> page.title = “Hello, World!”>>> for page in WikiPage.objects:>>> print page.title

Page 11: Django with Mongo using Mongoengine

— Игорь Афонов, #cncdnua #32

Page 12: Django with Mongo using Mongoengine

«Делайте велосипеды, но то так, чтобы хотелось на них ездить.»

— Игорь Давыденко, #kyivpy #5

Page 13: Django with Mongo using Mongoengine

Tumblr• http://wearethe99percent.tumblr.com/• http://dearphotograph.com/• http://stockingisthenewplanking.com/

• http://dudarev.tumblr.com/

Page 14: Django with Mongo using Mongoengine

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

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

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

Mumblr (adding user)ls mumblr/management/commands/python manage.py addusepython manage.py runserver

Page 18: Django with Mongo using Mongoengine

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