Результаты поиска
Представления классов в Django
Django вид указывает на функцию, которая может быть проблемой, если вы хотите изменить только немного функциональности. Да, я мог бы иметь миллион аргументов ключевых слов и даже больше операторов if в функции, но я больше думал об объектно-ориентированном подходе.
Например, у меня есть страница, на которой отображается пользователь. Эта страница очень похожа на страницу, которая отображает группу, но она все еще не настолько похожа, чтобы просто использовать другую модель данных. Группа также имеет членов и т. д...
Одним из способов было бы указать представления на методы класса, а затем расширить этот класс. Пробовал ли кто-нибудь этот подход или у него есть другие идеи?
Отслеживание версий, автоматизация изменений схемы DB с помощью django
В настоящее время я смотрю на фреймворк Python Django для будущих веб-приложений на базе БД, а также для порта некоторых приложений, написанных в настоящее время в PHP. Одной из самых неприятных проблем в течение последних лет было отслеживание изменений схемы базы данных и развертывание этих изменений в производительных системах. Я не смел просить, чтобы их тоже можно было отменить, но, конечно, для тестирования и отладки это было бы отличной функцией. Из других вопросов здесь (таких как этот или этот) я вижу, что я не одинок и что это не тривиальная проблема. Кроме того, я нашел много вдохновения в ответах там.
Теперь, поскольку Django кажется очень мощным, есть ли у него какие-либо инструменты, чтобы помочь с этим? Может быть, это даже в их документах, и я пропустил это?
обновление auto_now DateTimeField в родительской модели w/ Django
У меня есть две модели: сообщение и вложение. Каждое вложение прикрепляется к определенному сообщению, используя ForeignKey в модели вложения. Обе модели имеют auto_now DateTimeField под названием updated. Я пытаюсь сделать так, чтобы при сохранении любого вложения оно также устанавливало обновленное поле в связанном сообщении на now. Вот мой код:
def save(self):
super(Attachment, self).save()
self.message.updated = self.updated
Будет ли это работать, и если вы можете объяснить мне, почему? Если нет, то как я должен это сделать?
Представление порядка в реляционной базе данных
У меня есть коллекция объектов в базе данных. Картинки в фотогалерее, товар в каталоге, главы в книге и т. д. Каждый объект представлен в виде строки. Я хочу иметь возможность произвольно упорядочивать эти изображения, сохраняя этот порядок в базе данных, чтобы при отображении объектов они были в правильном порядке.
Например, предположим, что я пишу книгу,и каждая глава-это объект. Я пишу свою книгу и размещаю главы в следующем порядке:
Введение, доступность, форма и Функция, Ошибки, Последовательность, Заключение, Индекс
Он отправляется в Редактор и возвращается со следующим предложенным порядком:
Введение, Форма, Функция, Доступность, Последовательность, Ошибки, Заключение, Индекс
Как я могу хранить этот заказ в базе данных надежным и эффективным способом?
У меня были следующие идеи, но я не в восторге от них:
Массив. Каждая строка имеет порядок ID, когда порядок изменяется (через удаление с последующей вставкой), порядок IDs обновляются. Это упрощает поиск, так как это просто
ORDER BY, но кажется, что его легко сломать.// REMOVAL
UPDATE ... SET orderingID=NULL WHERE orderingID=removedID
UPDATE ... SET orderingID=orderingID-1 WHERE orderingID > removedID
// INSERTION
UPDATE ... SET orderingID=orderingID+1 WHERE orderingID > insertionID
UPDATE ... SET orderID=insertionID WHERE ID=addedIDСвязанный список. Каждая строка имеет столбец для идентификатора следующей строки в заказе. Обход кажется дорогостоящим здесь, хотя может каким-то образом использовать
ORDER BY, о котором я не думаю.Разнесенный массив. Установите orderingID (как используется в #1), чтобы быть большим, так что первый объект 100, Второй 200 и т.д. Затем, когда происходит вставка, вы просто помещаете ее в
(objectBefore + objectAfter)/2. Конечно, это должно было бы быть перебалансировано время от времени, поэтому у вас нет вещей слишком близко друг к другу (даже с поплавками, вы в конечном итоге столкнетесь с ошибками округления).
Ни один из них не кажется мне особенно элегантным. У кого-нибудь есть лучший способ сделать это?
Поддерживает ли Hostmonster Django
Я знаю, что hostmonster позволяет Python. Кто-нибудь успешно запустил Django там? Есть проблемы?
Unicode против UTF-8 путаница в Python / Django?
Я наткнулся на этот отрывок в учебнике Django :
Модели Django есть ул. по умолчанию () метод, который вызывает unicode () и преобразует результат в UTF-8 bytestring. Это означает, что unicode(p) вернет строку Unicode, а str (p) вернет обычную строку с символами, закодированными как UTF-8.
Теперь я в замешательстве, потому что, насколько мне известно, Unicode-это не какая-то конкретная представленность, так что "Unicode string" в Python? Означает ли это UCS-2? В гугле появился этот "Python Unicode Tutorial" , который смело заявляет:
Unicode-это двухбайтовая кодировка, которая охватывает все распространенные в мире системы письма.
что же здесь явно не так, или это так? Меня много раз смущали проблемы с набором символов и кодировкой, но здесь я совершенно уверен, что документация, которую я читаю, запутана. Кто-нибудь знает, что происходит в Python, когда он дает мне "строку Unicode"?
Самая чистая и быстрая настройка сервера для Django
Я собираюсь развернуть сайт среднего размера на базе Django. У меня есть выделенный сервер Ubuntu.
Я действительно запутался в том, какой серверный софт использовать. Поэтому я подумал про себя: почему бы не спросить stackoverflow?
То, что я ищу, это:
- Легко настраивается
- Быстрый и легкий доступ к ресурсам
- Могут служить медиафайлы
- Возможность обслуживать несколько djangosites на одном сервере
- Я бы предпочел не устанавливать PHP или что-то еще, что высасывает ресурсы, и для чего я не имею никакой пользы.
Я слышал о mod_wsgi и mod_python на Apache, nginx и lighty. Какие из них плюсы и минусы, и не упустил ли я кого-нибудь?
@Barry: почему-то мне кажется, что Apache-это слишком много для меня. А как насчет альтернатив?
@BrianLy: хорошо, я проверю mod_wsgi еще немного. Но зачем мне нужен Apache, если я обслуживаю статические файлы с помощью lighty? Мне также удалось обслуживать само приложение django с помощью lighty. Разве это плохо в любом случае? Прости за то, что вел себя так глупо :-)
UPDATE : а как насчет lighty и nginx - какие варианты использования являются идеальным выбором?
Нужно ли для того что б изучить и начать програмировать на Django изучать сначала Python?
Нужно ли для того что б изучить и начать програмировать на Django изучать сначала Python?
Оно полезно, но можно ли обойтись?
Как избавиться от повторяющихся join'ов при пересекающихся ForeignKey в Django?
Заметил такую неприятную штуку. Допустим есть модель которая связана двумя другими имеющими одинаковый ForeignKey.
class File(models.Model):<br/>
#some stuff<br/>
pass<br/>
<br/>
class ServerFile(models.Model):<br/>
<b>file = models.ForeignKey('File')</b><br/>
#some stuff<br/>
<br/>
class UserFile(models.Model):<br/>
<b>file = models.ForeignKey('File')</b><br/>
#some stuff<br/>
<br/>
class Link(models.Model): <br/>
user_file = models.ForeignKey('UserFile')<br/>
server_file = models.ForeignKey('ServerFile')<br/>
#some stuff
Соответственно при включенном list_select_related, получаем дополнительный join на File
SELECT
`fff_link`.`id`,
`fff_link`.`user_file_id`,
`fff_link`.`server_file_id`,
`fff_userfile`.`id`,
`fff_userfile`.`file_id`,
`fff_file`.`id`,
`fff_serverfile`.`id`,
`fff_serverfile`.`file_id`,
T5.`id`
FROM `fff_link`
INNER JOIN `fff_userfile`
ON (`fff_link`.`user_file_id` = `fff_userfile`.`id`)
INNER JOIN `fff_file`
ON (`fff_userfile`.`file_id` = `fff_file`.`id`)
INNER JOIN `fff_serverfile`
ON (`fff_link`.`server_file_id` = `fff_serverfile`.`id`)
INNER JOIN `fff_file` T5
ON (`fff_serverfile`.`file_id` = T5.`id`)
Может кто сталкивался? Как лечить?
Отказ от пересечения — не вариант, естественно
class File(models.Model):<br/>
#some stuff<br/>
pass<br/>
<br/>
class ServerFile(models.Model):<br/>
<b>file = models.ForeignKey('File')</b><br/>
#some stuff<br/>
<br/>
class UserFile(models.Model):<br/>
<b>file = models.ForeignKey('File')</b><br/>
#some stuff<br/>
<br/>
class Link(models.Model): <br/>
user_file = models.ForeignKey('UserFile')<br/>
server_file = models.ForeignKey('ServerFile')<br/>
#some stuff
Различия Django в App Engine и на собственном сервере
Подскажите, какие различия между реализацией django как самостоятельно продукта и django в google app engine? Я понимаю, что в app engine у меня есть ограничения, которые указаны в «Большой таблице», что там своя достаточно урезанная версия баз данных (кстате чем урезанная?), а какие ограничения на использование django ешё накладываются в app engine? Помогите всё понять максимально подробно. Что есть такого в django чего нет в django для app engine?
Django + MongoDB?
Собственно вопрос. Как можно заставить Django работать с MongoDB или вообще с noSQL базами данных.
Спасибо
Организация кода django-проекта, связывание приложений?
Стало вот интересно кто как организует свои джанго проекты:
создаете несколько приложений(по одному для логических разделов аля блог, контакты, новости итд) и в каждом отдельно создаете модели и вьюхи;
храните весь код в корне проекта, разделяя логические разделы дроблением моделей и вьюх на файлы и только многоразовый код выносите в приложения;
другие варианты;?
Если плодите приложения то как организуете взаимодействие между ними(речь не о шаблонах, а о логике)?
Просто изучаю джангу на практике, реализую довольно крупный проект, и вот после месяца писанины пришол к выводу что мой подход совсем не оптимален и мешает придерживатся KISS и DRY, потому очень прошу поделитесь опытом.
Есть альтернативы django-timezones?
Нашел модуль работы с датами, привязанными к часовым поясам.
Автор неплохо продумал его (по функционалу он меня устраивает), но похоже на практике так и не использовал. Потому что в нем полно ошибок, в том числе нет поддержки mysql, и он один способен сгенерировать сотню запросов на страницу.
Есть, конечно разные форки, но существенно ситуацию ни один из них не исправляет.
Поэтому вопрос, есть другое распространенное средство работы с датами, привязанными к часовым поясам для Django?
Django or redsolutions?
Только начал изучать django — прочитал и сделал проектик djbook.ru
Установил джанго на апач через mod_python, т.е. чуть чуть ознакомился.
Вопрос такой лучше сначала сделать сайт на django или сразу пробовать ковырять redsolutions cms (написана на django)?
Django: Как передать в форму POST для обработки?
Здравствуйте. У меня такая форма:
class LocalityForm(forms.Form):<br>
region = forms.ModelChoiceField(queryset=Region.objects.all(), required=False, empty_label="")<br>
locality = forms.ModelChoiceField(queryset=Locality.objects.none(), required=False, empty_label="")<br><br>
#для того чтоб можно было выбрать населенный пункт в зависимости от<br>
#региона переданного в POST, а так же вернуть введенные уже данные дописал к форме так<br>
def __init__(self, data = None, *args, **kwargs):<br>
super(forms.Form, self).__init__(*args, **kwargs)<br>
if data:<br>
if data.get('region'):<br>
self.reg = data['region']<br>
self.fields['region'].initial = self.reg<br>
self.fields['locality'].queryset = Locality.objects.filter(region=self.reg).order_by('name')<br>
if data.get('locality'):<br>
self.loc = data['locality']<br>
self.fields['locality'].initial = self.loc<br>
вызывается довольно просто form = LocalityForm(request.POST)
Но тогда исчезает проверка формы, т.е. форма получается в любом случае не валидная, видимо из-за перехвата POST данных аргументом data.
Передавать через именованные аргументы не хочется — ибо вызов формы становится довольно идиотским
form = LocalityForm(request.POST, region = request.POST['region'], locality = request.POST['locality'])
Хотя если другого решения нет то видимо придется довольствоваться тем что есть.
class LocalityForm(forms.Form):<br>
region = forms.ModelChoiceField(queryset=Region.objects.all(), required=False, empty_label="")<br>
locality = forms.ModelChoiceField(queryset=Locality.objects.none(), required=False, empty_label="")<br><br>
#для того чтоб можно было выбрать населенный пункт в зависимости от<br>
#региона переданного в POST, а так же вернуть введенные уже данные дописал к форме так<br>
def __init__(self, data = None, *args, **kwargs):<br>
super(forms.Form, self).__init__(*args, **kwargs)<br>
if data:<br>
if data.get('region'):<br>
self.reg = data['region']<br>
self.fields['region'].initial = self.reg<br>
self.fields['locality'].queryset = Locality.objects.filter(region=self.reg).order_by('name')<br>
if data.get('locality'):<br>
self.loc = data['locality']<br>
self.fields['locality'].initial = self.loc<br>
Django template inheritance и ajax?
Я только-только начал поглядывать в сторону Python+Django, поэтому знаком с ними на уровне чтения документации.
Насколько я понимаю, в шаблонах Django {% extends base.html %} должен идти первой строчкой. Однако, хотелось бы иметь возможность не наследоваться от базового шаблона, если это ajax-запрос. Условие сюда, видимо, написать нельзя, поэтому на данный момент очевиден только такой вариант:
Во view проверяем, не ajax-ли запрос. Если ajax — рендерим, к примеру,view-ajax.html. Иначе — view.html в котором:
{% extends base.html %}<br/>
###<br/>
{% include view-ajax.html %}
Однако, этот вариант не выглядит привлекательным. Как, скажем:
{% notajaxextends base.html %}
Но для такого, казалось бы, очевидного поведения писать, как мне сейчас видится, не самый простой темплейт-тег — кажется сомнительным. Почти уверен что существуют решения. Да и кроме того, при extends мы переопределяем блоки базового шаблона. А так как переопределять становится нечего — что же тогда выводить? Передавать требуемый блок как параметр тега?
{% notajaxextends base.html content %}<br/>
###<br/>
{% block content %} ... {% endblock %}
Поможете начинающему джангисту разрешить эту нелепую дилему?
{% extends base.html %}<br/>
###<br/>
{% include view-ajax.html %}{% notajaxextends base.html content %}<br/>
###<br/>
{% block content %} ... {% endblock %}
Какая версия Django поддерживается AppEngine SDK 1.4.2?
Известно, что SDK 1.2.3 поддерживает 1.0; однако, сейчас разработчикам рекомендуется использовать форк "Django-nonrel"
Некое введение в использование Django версии ~0.96..1 совместно с GAE есть тут, на хабре. Пробую применить его под новый SDK и вышеупомянутый форк.
Однако текущая версия Django — 1.2.5, на завтра назначен релиз 1.3. Какая-то версия из этих будет работать в среде AppEngine — без необходимости в дополнительных патчах?
(извиняюсь за дикое количество ссылок, но держать в записях ссылки на устаревшие версии — терпения не хватает :)
middleware которое будет возвращать ошибку если за последние n секунд было больше k запросов c одного ip адреса
Здравствуйте! Начал изучать Django, здесь встала задачка как реализовать миддлвер, что бы возвращал исключение если за последние n секунд было больше k запросов c одного ip адреса.
На сколько смог додуматься, код ниже:
Не понимаю почему не открывается детальное описание продукта
Добрый день! Не могу разобраться с выводом товаров по категории. Суть такая, есть каталог, в каталоге категории и в эти категории добавляется один товар. Например в админке добавляю например каталог МЕБЕЛЬ, далее в этом каталоге добавляем две категории ДЛЯ КУХНИ и ДЛЯ СПАЛЬНИ и добавляем уже продукт КРОВАТЬ для категории ДЛЯ СПАЛЬНИ. Вобщем каталоги и разделы открываются, но при попытке перейти в продукт КРОВАТЬ пишет страница не найдена 404.
Вот код
models.py
urls.py:
views.py:
В шаблоне :
{% for cat in category %}
<div class="room-item catalog_items">
<ul class="hover-effect-cover">
<li>
<img src="{{ cat.img.url }}" alt="">
<div class="effect-to-top">
<h3>{{ cat.name }}</h3>
<p></p>
<a href="{% url 'product-detail' cat.id %}" class="button">ПОДРОБНЕЕ</a>
</div>
</li>
</ul>
</div>
{% endfor %}
Допустим я в админке категория test и продукт для этой категории product1, ссылка в шаблоне получается catalog/product/test и соответственно выдает 404, но если я руками поправлю ссылу в адресной строке на catalog/product/product1 то все откроется как надо (описание продукта).
4351   0   11:51, 11th November, 2022