2015-01-09 2 views
0

Я хочу знать, можно ли напрямую модифицировать и сохранить экземпляр модели в шаблоне HTML, а не через просмотр и дополнительный URL.Django изменить экземпляр модели из HTML

У моего пользователя есть логическое свойство, я хочу отобразить его как кнопку переключения на веб-сайте, и пользователь должен иметь возможность включать или выключать его, не выходя из веб-сайта или перезагружая его.

class User(AbstractBaseUser, PermissionsMixin): 
    ... 
    autoplay_enabled = models.BooleanField(default=True) 
    ... 

Возможно ли это без дополнительного вида или формы?
В основном я просто нужно установить

request.user.autoplay_enabled = False (or True) 

, а затем save() это

Если я не могу изменить объект непосредственно в шаблоне HTML является то, по крайней мере можно просто выполнить функцию у меня есть где-то в моем коде Python, без необходимости создавать новое представление?

ответ

0

То, что вы просите, не имеет никакого смысла. HTML просто отправляется в браузер для отображения. Вы не можете сделать что-нибудь «из HTML», не делая своего рода запрос на сервер, и сервер ничего не сделает, если этот запрос не получен каким-то кодом - например, представление, связанное с URL-адресом.

Если вы хотите, чтобы что-то произошло без обновления страницы, вам необходимо использовать Ajax. Вы можете использовать простой AJAX POST для представления, которое переключает значение и сохраняет его - ему нужно всего лишь дюжину строк кода между передним и задним концом.

+0

Я надеялся записать его непосредственно в шаблон HTML, например {{% user.autoplay_enabled = True%}} или {{% call_to_function%}}. Спасибо за ваш ответ. Теперь я знаю, что мне по-прежнему нужен собственный URL-адрес и представление. – falc410

Смежные вопросы