Django Django上的用户在线

### models.py
class UsersOnline(models.Model):
    username    = models.CharField(max_length=100)
    time        = models.DateTimeField()
    url         = models.URLField()

    def __unicode__(self):
        return self.username

def recountUsersOnline():
    users = UsersOnline.objects.all()
    date_now = datetime.now()
    # Deleting expired users
    for user in users:
        dt = date_now - user.time
        if (dt.seconds > 300):
            # User expired
            user.delete()

def addUserOnline(username, url):
    try:
        user = UsersOnline.objects.get(username=username)
        user.time = datetime.now()
    except:
        user = UsersOnline(username=username, time=datetime.now(), url=url)
    user.save()

Django Django kwargs

class Entry( models.Model ):
    user = models.ForeignKey( User, related_name = 'user_relation' )
    category = models.ForeignKey( Category, related_name = 'category_relation' )
    title = models.CharField( max_length = 64 )
    entry_text = models.TextField()
    deleted_datetime = models.DateTimeField()



kwargs = {
    # you can set common filter params here
}

# will return entries which don't have a deleted_datetime
if exclude_deleted:
    kwargs[ 'deleted_datetime__isnull' ] = True

# will return entries in a specific category
if category is not None:
    kwargs[ 'category' ] = category

# will return entries for current user
if current_user_only:
    kwargs[ 'user' ] = request.user

# will return entries where titles match some search query
if title_search_query != '':
    kwargs[ 'title__icontains' ] = title_search_query

# apply all filters and fetch entries that match all criteria
entries = Entry.objects.filter( **kwargs )

Django Django和JSON

def json_response(something):
    from django.utils import simplejson
    return HttpResponse(simplejson.dumps(something),
                        content_type='application/json; charset=UTF-8')

Django Django通过Gmail发送电子邮件

In settings.py 

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'youremail@gmail.com'
EMAIL_HOST_PASSWORD = 'yourpassword'
EMAIL_PORT = 587

You can use the shell to test it:

>>> from django.core.mail import send_mail
>>> send_mail('Test', 'This is a test', 'from@somewhere.com', ['youremail@somewhere.com'])