Test django view with cookies

| Comments

To test some view which use cookies:

from Cookie import SimpleCookie
from django import test

class SomeTest(test.TestCase):

    def test_some_view(self):
        self.client.cookies = SimpleCookie({'test_cookie': 'test_value'})
        response = self.client.get('/some-url/')

        self.assertEqual(response.client.cookies['test_cookie'].value, 'test_value')

My current tools

| Comments

MacBook Air 13" instead of iMac 24" 2007
It’s faster and provides me mobility, but I’m lacking in screen size, I plan to solve this with external monitor.

Sublime Text3 with next packages:

  • package control
  • djaneiro (django support)
  • django-docsearch
  • git (checkout branch python3)
  • jsformat
  • modific (highlighting lines changed since the last commit)
  • sidebar enchancement
  • sublimelinter (checkout sublime-text-3 branch)
  • theme phoenix

Before this I used PyCharm, it’s very good, but slower.

SourceTree - GUI for Git and Mercurial
I prefer to use command line to add, commit, push and this app for history. It’s a little slow sometimes.

OmniFocus for GTD
Usually I use just two perspectives Business and Personal grouped by due date. It’s useful to have filled estimate field, it gives me possibility to better plan my day.

Toggl for time tracking
Good reports, desktop and iphone apps, I know how I spent my time.

nvALT for notes
Simple and fast.

Alfred
It looks like a spotlight but much better. I’m using mostly for clipboard history and to:

  • open apps
  • paste notes to nvALT
  • find files
  • calculate
  • search contacts
  • change status in Skype and Messages simultaneously

Installing Django on Ubuntu memo

| Comments

Here are a few notes and links after moving to the new Ubuntu server on linode.com.

Some steps for security: My First 5 Minutes On A Server

Install packages:

apt-get install apache2 libapache2-mod-wsgi
apt-get install postgresql postgresql-server-dev-9.1 python-dev
apt-get install mysql-server mysql-common mysql-client libmysqlclient-dev 
apt-get install git git-core

Setup virtualenv:

apt-get install python-setuptools
apt-get install python-pip
pip install virtualenv
virtualenv --no-site-packages /path/to/venv

Install PIL in virtualenv:

apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/
pip install PIL

StackOverflow Charts

| Comments

A month ago I began to participate in StackOverflow process. So I was interested to collect some statistics data and find where am I in this game. StackOverflow has a good API with limits for 300 requests/days for anonymous user and 10 000 requests/day for authorized. I created a simple bot on python, collected data to MongoDb and built these charts. With 10 000 requests and page size 100 I got users from highest reputation (524k) to 269. So I built these charts starting from reputation of 300.

The number of users with reputation > 300 is 96 654. And total number of users is about 1 375 000. So the percent of active users is about 7%.

My version of django boilerplate

| Comments

django_boilerplate - it’s a template to fast start new Django project.

Based on:

Used apps:

It also includes example app with List, Create, Update, Delete views.

Install

pip install -r requirements.txt
python manage.py syncdb

A simple CRUD app with Django and Mongoengine

| Comments

There are several possibilities to use MongoDB in Django:

Django MongoDB uses django-nonrel, which is a fork based on Django 1.3.
I don’t like this idea, because now Django 1.5 is ready to out. Beetween Mongoengine and MongoKit, I like more Mongoengine. There are several comparative articles:

So I created a simple CRUD app using Mongoengine.

« 13/13