Added docs about using MongoEngine with Django
This commit is contained in:
		@@ -2,6 +2,14 @@
 | 
				
			|||||||
Changelog
 | 
					Changelog
 | 
				
			||||||
=========
 | 
					=========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Changes is v0.1.3
 | 
				
			||||||
 | 
					=================
 | 
				
			||||||
 | 
					- Added Django authentication backend
 | 
				
			||||||
 | 
					- Added Document.meta support for indexes, which are ensured just before 
 | 
				
			||||||
 | 
					  querying takes place
 | 
				
			||||||
 | 
					- A few minor bugfixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Changes in v0.1.2
 | 
					Changes in v0.1.2
 | 
				
			||||||
=================
 | 
					=================
 | 
				
			||||||
- Query values may be processed before before being used in queries
 | 
					- Query values may be processed before before being used in queries
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@ The source is available on `GitHub <http://github.com/hmarr/mongoengine>`_.
 | 
				
			|||||||
   tutorial
 | 
					   tutorial
 | 
				
			||||||
   userguide
 | 
					   userguide
 | 
				
			||||||
   apireference
 | 
					   apireference
 | 
				
			||||||
 | 
					   django
 | 
				
			||||||
   changelog
 | 
					   changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Indices and tables
 | 
					Indices and tables
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,8 @@ class User(Document):
 | 
				
			|||||||
    last_login = DateTimeField(default=datetime.datetime.now)
 | 
					    last_login = DateTimeField(default=datetime.datetime.now)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_full_name(self):
 | 
					    def get_full_name(self):
 | 
				
			||||||
 | 
					        """Returns the users first and last names, separated by a space.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        full_name = u'%s %s' % (self.first_name or '', self.last_name or '')
 | 
					        full_name = u'%s %s' % (self.first_name or '', self.last_name or '')
 | 
				
			||||||
        return full_name.strip()
 | 
					        return full_name.strip()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -42,6 +44,10 @@ class User(Document):
 | 
				
			|||||||
        return True
 | 
					        return True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def set_password(self, raw_password):
 | 
					    def set_password(self, raw_password):
 | 
				
			||||||
 | 
					        """Sets the user's password - always use this rather than directly
 | 
				
			||||||
 | 
					        assigning to :attr:`~mongoengine.django.auth.User.password` as the
 | 
				
			||||||
 | 
					        password is hashed before storage.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        from random import random
 | 
					        from random import random
 | 
				
			||||||
        algo = 'sha1'
 | 
					        algo = 'sha1'
 | 
				
			||||||
        salt = get_hexdigest(algo, str(random()), str(random()))[:5]
 | 
					        salt = get_hexdigest(algo, str(random()), str(random()))[:5]
 | 
				
			||||||
@@ -49,11 +55,19 @@ class User(Document):
 | 
				
			|||||||
        self.password = '%s$%s$%s' % (algo, salt, hash)
 | 
					        self.password = '%s$%s$%s' % (algo, salt, hash)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def check_password(self, raw_password):
 | 
					    def check_password(self, raw_password):
 | 
				
			||||||
 | 
					        """Checks the user's password against a provided password - always use
 | 
				
			||||||
 | 
					        this rather than directly comparing to
 | 
				
			||||||
 | 
					        :attr:`~mongoengine.django.auth.User.password` as the password is
 | 
				
			||||||
 | 
					        hashed before storage.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        algo, salt, hash = self.password.split('$')
 | 
					        algo, salt, hash = self.password.split('$')
 | 
				
			||||||
        return hash == get_hexdigest(algo, salt, raw_password)
 | 
					        return hash == get_hexdigest(algo, salt, raw_password)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def create_user(cls, username, password, email=None):
 | 
					    def create_user(cls, username, password, email=None):
 | 
				
			||||||
 | 
					        """Create (and save) a new user with the given username, password and
 | 
				
			||||||
 | 
					        email address.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        user = User(username=username, email=email)
 | 
					        user = User(username=username, email=email)
 | 
				
			||||||
        user.set_password(password)
 | 
					        user.set_password(password)
 | 
				
			||||||
        user.save()
 | 
					        user.save()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user