понедельник, 4 марта 2013 г.

Django Русификация Админки

Если английский не является вашим основным языком, то вы можете легко настроить интерфейс администратора на отображение информации на нужном вам языке. Для это в конфигурационном файле добавьте:

'django.middleware.locale.LocaleMiddleware',

в MIDDLEWARE_CLASSES.

Убедитесь, что оно следует после

'django.contrib.sessions.middleware.SessionMiddleware',

После этого перегрузите главную страницу административного интерфейса.

Если присутствует перевод для вашего языка, различные части интерфейса отобразятся на вашем языке вместо английского.

Django Создание логина и пароля Суперпользователя

python manage.py createsuperuser

Django Model Create, Get, Update, Delete

# IMPORT

from mysite.books import Publisher


--------------------------------------------------------------------------

# CREATE

p = Publisher(name='Boris', age = 30)
p.save()

OR

Publisher.objects.create(name='Boris', age=30)

--------------------------------------------------------------------------

# UPDATE

p = Publisher.objects.get(id=1)
p.name = 'Tom'
p.save()

--------------------------------------------------------------------------

# GET

Publisher.objects.all()
Publisher.objects.all()[0:2]
Publisher.objects.get(name='Boris')
Publisher.objects.filter(name__contains='Bor')
Pyblisher.objects.order_by('-name')

--------------------------------------------------------------------------

# DELETE

Publisher.objects.get(name='Boris').delete()

пятница, 1 марта 2013 г.

Djnago Русские буквы в браузере

Если в результате выполнения вашего кода Django в браузере не выводятся русские буквы, а выводится абракадабра, то вам необходимо сделать следующее.

Добавьте в файл первой строкой следующий комментарий.

#-*- coding: utf-8 -*-

Сохраните ваш файл в кодировке UTF-8 без BOM.

После этого русские буквы в браузере должны будут появиться.

Пример.

Файл views.py

#-*- coding: utf-8 -*-

from django.http import HttpResponse

def hello(request):
    return HttpResponse('Здраувствуй, мир!')

Djnago Принудительный вывод страницы с отладочной информацией

В контроллере внутри акшон-метода (функции) страницы, которую вы хотите протестировать, чтобы узнать какие параметры ей передаются из формы, вы можете первой строкой прописать assert False. Это приведет к выводу стандартной страницы Django с сообщением об ошибке и всем списком переданных ей параметров.

def function_that_raises_an_exception():
    assert False
    ...

Django Debug

Если необходимо иметь информацию о том, что происходит при выполнении функции представления, самым быстрым способом будет поместить в представление оператор print. Сервер разработки выводит результат обработки оператора print напрямую на терминал. Это альтернатива со стороны сервера JavaScript-функции alert().

Django Методы класса Model

class Person(models.Model):
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=40)

    class Meta:
        pass

    class Admin:
        pass

    def __unicode__():
        pass

    def __str__():
        pass

    def get_absolute_url():
        pass