Как внешне заполнить модель Django?

Ваша ссылка на значение атрибута data-img-url неверна. Проверьте метод .data() jquery и попробуйте настроить обработчик кликов следующим образом:

$('a .thumb').click(function (e) {            
  $('#lgImg').attr('src', $(this).parent().data('img-url'));
});

8
задан Soviut 7 February 2009 в 18:05
поделиться

4 ответа

Существует отличный способ делать, некоторые подобные обслуживанию работы в среде проекта - пишут пользовательскую команду manage.py. Требуется вся настройка среды, и другой материал позволяет Вам концентрироваться на конкретной задаче.

И, конечно, назовите его непосредственно кроном.

11
ответ дан 5 December 2019 в 08:54
поделиться

Вы не должны создавать представление, необходимо просто инициировать сценарий Python с соответствующими настроенными параметрами среды Django. Затем назовите свои модели непосредственно способом, которым Вы были бы, если Вы использовали представление, обрабатываете Ваши данные, добавьте его к своей модели, затем .save () модель к базе данных.

4
ответ дан 5 December 2019 в 08:54
поделиться

"создайте сценарий Python и установите тот сценарий как крон (с DJANGO _SETTINGS _MODULE переменная установка прежде, чем выполнить сценарий)?"

Во-первых, обязательно объявите Ваши Формы в отдельном модуле (например. forms.py)

Затем можно записать пакетные загрузчики, которые похожи на это. (У нас есть МНОГИЕ из них.)

from myapp.forms import MyObjectLoadForm
from myapp.models import MyObject
import xml.etree.ElementTree as ET

def xmlToDict( element ):
    return dict(
        field1= element.findtext('tag1'),
        field2= element.findtext('tag2'),
    )

def loadRow( aDict ):
     f= MyObjectLoadForm( aDict )
     if f.is_valid():
         f.save()

def parseAndLoad( someFile ):
    doc= ET.parse( someFile ).getroot()
    for tag in doc.getiterator( "someTag" )
        loadRow( xmlToDict(tag) )

Обратите внимание, что существует очень мало уникальной обработки здесь - она просто использует ту же Форму и Модель как Ваши функции представления.

Мы вставляем эти сценарии пакетной обработки с нашим приложением Django, так как оно зависит от приложения models.py и forms.py.

Единственная "интересная" часть преобразовывает Вашу строку XML в словарь так, чтобы это работало беспрепятственно с формами Django. Кроме этого, эта программа командной строки использует весь одинаковый компоненты Django в качестве Вашего представления.

Вы, вероятно, захотите добавить парсинг опций и вход для создания полного приложения командной строки из этого. Вы также заметите, что так большая часть логики универсальна - только xmlToDict функция действительно уникальна. Мы звоним этим "Разработчикам" и имеем иерархию классов так, чтобы наши Разработчики были всеми полиморфными отображениями от наших исходных документов до словарей Python.

2
ответ дан 5 December 2019 в 08:54
поделиться

Я использовал крон для обновления моего DB с помощью и сценария и представления. С точки зрения крона это действительно не имеет значения, какой Вы выбираете. Поскольку Вы отметили, тем не менее, что трудно разбить простоту разжигания браузера и удара URL, если Вы когда-нибудь хотите обновить в непредвиденном интервале.

Если Вы идете путем представления, это могло бы быть достойно рассмотрения представление, которое принимает сам XML-файл через POST HTTP. Если бы это имеет смысл для Ваших данных (Вы не даете много информации о том XML-файле), это все еще работало бы от крона, но могло также принять загрузку от браузера - потенциально разрешение человеку, который производит обновление XML-файла DB собой. Это - большая победа, если Вы не тот, делающий XML-файл, который обычно имеет место, по моему опыту.

2
ответ дан 5 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: