среда, 18 декабря 2013 г.

Минификация javascript файлов на python

Одним из методов увеличения скорости загрузки страницы является минификация javascript-файлов, при которой из файла удаляются комментарии, пробелы, переносы строк.
На python есть модуль jsmin, легко позволяющий сделать это. Скачайте этот модуль и достаньте из архива папку jsmin с кодом модуля.

воскресенье, 10 ноября 2013 г.

Изучаем Python на конкретном примере

Есть отличное видео, где на конкретном примере показывается, как Python может сыграть полезную роль. Как говорится, лучше один раз увидеть, чем сто раз услышать.


четверг, 7 ноября 2013 г.

Валидация форм в Django

Пусть у нас есть простая форма регистрации пользователя в системе на Django. Для того, чтобы пользователь мог зарегистрироваться, нужно предоставить ему возможность указать логин и пароль:

вторник, 29 октября 2013 г.

Веб-форма средствами Django

В статье Простейшая форма на Django мы научились создавать и обрабатывать форму сложным путем, прописывая все детали. Там мы выяснили, что при большом количестве полей такой способ чреват ошибками. Поэтому сейчас мы научимся создавать форму обратной связи средствами Django, используя Django forms.

четверг, 24 октября 2013 г.

Простейшая форма на Django

Принцип работы простейшей формы Django изображен на рисунке:
Данные при отправке формы помещаются в объект request.POST.

пятница, 27 сентября 2013 г.

Получить json из файла в кодировке utf-8

Если ваш json файл имеет корректный json и вы по-прежнему получаете ошибку "ValueError: No JSON object could be decoded", то, возможно, проблема в кодировке.

1. Создайте файл my_json.txt:
{
    "banks":
    [
        {
            "name": "Trust Bank",
            "atms": 
            [
                {
                    "longitude": "40.1222",
                    "latitude": "22.1222"
                }
                ,
                {
                    "longitude": "42.1222",
                    "latitude": "33.1222"
                }
            ]
        }
        ,
        {
            "name": "Invest Bank",
            "atms": [
                {
                    "longitude": "40.1222",
                    "latitude": "22.1222"
                }
            ]
        }
    ]
}


2. Переведите файл в кодировку utf-8. Если вы используете notepad++, то сделать это можно через меню "Кодировки" > "Преобразовать в UTF-8".
3. Наша задача - получить данные из этого файла, содержащего данные в формате json. В той же директории создадим файл import_json.py:
#-*- coding:utf-8 -*-

import json

json_file = open('my_json.txt')

# Вот эта строка решает проблему с кодировкой
content = json_file.read().decode("utf-8-sig")

data = json.loads(content)

for key in data:
    banks = data[key]
    for bank in banks:
        print bank['name']


4. Запустим файл import_json.py. Программа выведет:
Trust Bank
Invest Bank

В переменной data у нас будет словарь, содержащий данные из файла. Получение данных из json-файла в кодировке utf-8 прошло успешно, т.к. мы сказали python-у, что файл имеет эту кодировку.

пятница, 20 сентября 2013 г.

Вывести список чисел Фибоначчи и проверить unittest-ом

Задача. Напишите функцию, которая принимает на вход индекс числа в ряде Фибоначчи (0, 1, 1, 2, 3, 5, 8, 13, 21, ... - последующее число равно сумме двух предыдущих), а выводит список чисел этого ряда с 0 до указанного индекса включительно.
Пример:
get_fibonacci_list(0) вернет [0]
get_fibonacci_list(1) вернет [0, 1]
get_fibonacci_list(3) вернет [0, 1, 1, 2]