Чтобы установить сообщение подтверждения перед закрытием окна, вы можете использовать
$(window).bind("beforeunload",function(event) {
return "You have some unsaved changes";
});
& nbsp; & NBSP; & NBSP; Важно заметить, что вы не можете поместить confirm/alert
внутрь beforeunload
Еще несколько заметок:
blockquote>
- НЕ все браузеры поддерживают это (дополнительная информация в разделе совместимости браузера на MDN)
- В Firefox вы ДОЛЖНЫ реально взаимодействовать со страницей, чтобы это сообщение появится пользователю.
- Каждый браузер может добавить свой текст в ваше сообщение.
Вот результаты с использованием браузеров, к которым у меня есть доступ:
Chrome:
Firefox:
Safari:
IE:
Просто чтобы сделать конечно - вам нужно включить jquery
blockquote>Дополнительная информация о поддержке браузеров и удалении пользовательского сообщения:
Flask-Security поставляется со встроенной формой и возможностью смены пароля. Я бы порекомендовал использовать это. https://pythonhosted.org/Flask-Security/customizing.html
для редактирования информации о пользователе через представление Flask-Admin, вы можете переопределить эти методы, выполнив следующие действия. Не забудьте добавить «клиент» в качестве принятой роли в вашем классе пользователя flask-admin. Пользовательский фильтр должен фильтровать по current_user_id, поэтому никакой другой профиль пользователя не может быть отредактирован.
def get_query(self)
if "superuser" in current_user.roles:
return self.session.query(self.model) # as original source code
else: # for all other roles
return self.session.query(self.model).filter(
< insert custom filter here> )
def get_count_query(self):
if "superuser" in current_user.roles:
return self.session.query(func.count('*')).select_from(self.model) # as original source code
else: # for all other roles
return self.session.query(func.count('*')).filter(
<insert custom filter here> )
Альтернативным решением было бы создать собственное представление (без использования flask-admin) и назвать его /myprofile.