Я использую Django 1.8 для создания нового веб-приложения. Приложение имеет простую модель, которая получает имя и URL-адрес. Затем в представлениях у меня есть функция, которая считывает содержимое данного URL-адреса, затем сбрасывает некоторые данные из него с помощью пакета BeautifulSoup и назначает их в локальные переменные (название статьи, опубликованная дата и т. Д.) В этой функции. Затем я показываю эти переменные в шаблонах.Как редактировать и сохранять содержимое из интерфейса в Django?
Теперь я хочу добавить новую функцию, которая позволяет зарегистрированным пользователям редактировать это содержимое. Я нашел несколько сторонних пакетов, которые это делают, но поскольку это образовательный проект, я предпочитаю понимать логику этого.
Итак, вопрос заключается в том, как разрешить входным пользователям управлять манипулированием данными, полученными из функции, в представлениях (а не в поле модели) и сохранять отредактированные данные в базе данных (без использования области администратора)? Очевидно, что я не хочу никаких кодов, я хочу знать идею реализации для выполнения этой задачи.
views.py
def detail(request, article_id):
article = get_object_or_404(Article, pk=article_id)
html = article.article_url
read = requests.get(html)
soup = BeautifulSoup(html)
title = soup.title.string
return render(request, 'detail.html', {'article': article, 'title':title})
Когда вы говорите «отредактируйте это содержимое», вы говорите об изменении необработанного HTML или в способе WYSIWYG? – Brandon
Я имею в виду raw html, потому что поля похожи на обычный текст в формате (статья: название статьи) sth. так же, как мы можем редактировать комментарии здесь при переполнении стека. – sheshkovsky
Легко. Просто создайте форму и представление для обновления содержимого. – Brandon