Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Django] Помогите разобраться 
:(
    Опции темы
saspython
Дата 14.5.2010, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.5.2010

Репутация: нет
Всего: нет



Добрый день!

Возник такой вопрос:

У меня  есть вывод цены {{phone.price|floatformat:"-3"}}
выводится как 14400, а мне нужно так 14 400,или 14400500 ->14 400 500, т.е. разделить пробелом

подскажите пожалуйста, как это сделать?...

(проект на django)
PM MAIL   Вверх
Dagger
Дата 14.5.2010, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 377
Регистрация: 4.9.2002
Где: Киев

Репутация: нет
Всего: 8



Во-первых ознакомтесь с django humanize
Во-вторых можете написать метод в модель, который форматирует цену – топик на stackoveflow
PM MAIL WWW Skype   Вверх
saspython
Дата 15.5.2010, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.5.2010

Репутация: нет
Всего: нет



Большое спасибо за наводку)))

да я смотрел django humanize.... там к сожалению нет функции, которая делает именно то, что мне нужно(...

думал, просто кто-нибудь сразу скажет, а то питон для меня пока в новинку))))

PM MAIL   Вверх
saspython
Дата 21.5.2010, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.5.2010

Репутация: нет
Всего: нет



А как пользоваться всем этим?)))) я вставляю {% load humanize %} в мой файл index.html выдается ошибка...

'humanize' is not a valid tag library: Could not load template library from django.templatetags.humanize, No module named humanize

мол не подключена библиотека, как её подключить то?...

или где создавать методы для работы с числами? в каком файле?....

подскажите если несложно....пока времени нет с питоном разбираться, а заказщик требует....))))

заранее спасибо!!!!
PM MAIL   Вверх
kostikvento
Дата 3.6.2010, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 3.6.2010

Репутация: нет
Всего: нет



Создайте пользовательский фильтр.

Для этого в папке с вашим приложением (там, где файлы models.py и admin.py), создайте папку templatetags, в которой разместите два файла: __init__.py (это чтобы питон считал эту папку модулем) и mytags.py (собственно, название может быть любым, потом именно это название будете указывать в {% load mytags %}).

Содержимое mytags.py (код мой; можете переписать функцию, если хотите, а можете потом другие фильтры писать):

Код

# -*- coding: utf-8 -*-
""" My filters. """

import re

from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()

RE_digits = re.compile(ur'(\d\d\d|\d\d|\d)', re.U)

def spacedigits(value, autoescape=None):
    """Inserts whitespaces to separate thousands in numbers."""
    
    return ''.join(reversed(RE_digits.sub(ur'\1 ',''.join(reversed(str(value)))).strip()))
spacedigits.is_safe=True
spacedigits.needs_autoescape = True
spacedigits = stringfilter(spacedigits)
register.filter('spacedigits', spacedigits)



RE_digits вынесен, чтобы не компилировался каждый раз при вызове функции (вы же не единственную цену на странице собираетесь этим фильтром обработать?).

После этого в шаблоне добавляете load и джанга сама цепляет этот файл, ища его в папке templatetags всех загруженных приложений, указанных в INSTALLED_APPS файла settings.py.

А вообще, читайте доку по Джанге (конкретно раздел http://docs.djangoproject.com/en/1.2/howto...template-tags/), там это написано. Оно, конечно, на английском, но может, скоро переведу smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.