@reversion.register(fields=['head', 'head_en', 'head_kz',])
class Slide(models.Model):
head = models.CharField(verbose_name='Title', max_length=200, blank=False,)
INSTALLED_APPS = (
...
'modeltranslation',
'django.contrib.admin', # optional
....
)
./manage.py makemigrations название_приложения
./manage.py migrate название_приложения
не отвечать на ajax-запросы редиректами
success: function(data, textStatus, xhr) {
if(xhr.status==302) {
location.href = xhr.redirectUrl;
} else {
// тут код если ответ от сервера не редирект
}
},
class UserEditView(PermissionRequiredMixin, UpdateView):
template_name = 'users/edit_user.html'
form_class = UserEditForm
model = User
permission_required = ('auth.change_user')
raise_exception = True # этот атрибут означает, что будет исключение, а не редирект
# статус ответа будет 403 (forbidden)
error: function(xhr, ajaxOptions, thrownError) {
if(xhr.error==403) {
location.href = 'урл_для_редиоекта_на_дашборд';
} else {
// тут обработка ошибки, если ответ от сервера не 403
}
},
from django.shortcuts import redirect
class RedirectPermissionRequiredMixin(PermissionRequiredMixin,):
login_url = reverse_lazy('dashboard')
def handle_no_permission(self):
return redirect(self.get_login_url())
# и примешать вместо PermissionRequiredMixin
class UserEditView(RedirectPermissionRequiredMixin, UpdateView):
template_name = 'users/edit_user.html'
form_class = UserEditForm
model = User
permission_required = ('auth.change_user')