2015-01-14 4 views
-1

У меня есть проблема с возвращением HttpResponseRedirectДжанго: send_mail HttpResponseRedirect

ошибка Страница не найдена

Запрос URL: http://127.0.0.1:8000/home/

model.py

def on_post_save(sender, instance, signal, created, **kwargs): 
if created: 
    print 'created' 
    send_mail(u"demande_Expertise", 'Bonjour je souhaite obtenir les droits d acces de ce materiau', '[email protected]', 
     [instance.categorie.expert.utilisateur.email]) 
    return HttpResponseRedirect("http://127.0.0.1:8000") 

else: 
    if instance.etat=='0': 
     send_mail(u"demande acceptée", u'Bonjour, votre demande est acceptée', u'[email protected]', 
        [instance.user.email]) 
    elif instance.etat=='1': 
      send_mail(u"demande refusée", u'Bonjour, votre demande est refusée', u'[email protected]', 
        [instance.user.email]) 
return HttpResponseRedirect('/') 

urls.py

urlpatterns = patterns('', 
        #url(r'^$', main_page), 
        url(r'^$', mainView.as_view(), name='homepage'), 

В чем проблема?

ответ

0

Вы ничего не возвращаете от on_post_save сигнал. Эти ответы HttpResponseRedirect выбрасываются во время сохранения модели.

Показать код представления, в котором вы сохраняете экземпляр модели.

EDIT: Хорошо, я вижу вас. Изменение success_url вашего зрения из /home/ в /

class Demande_Expertise(CreateView): 
    form_class = Demande_ExpertiseForm 
    template_name = 'material/demande_expertise3.html' 
    success_url = '/' 

И не забудьте удалить return HttpResponseRedirect() строки из on_post_save функции.

+0

это работает, спасибо большое – user3172700

0

Я считаю, что есть пара вопросов.

  1. HttpResponseRedirect не соответствует ни urlpatterns
  2. Еще более важно, что вы не возвращает ответ от модели

Вы могли бы сделать что-то подобное в вашем views.py:

def some_view(request): 
    element = SomeModel(value=some_value, etc) #this has custom save actions 
    if element.field == 'something: 
    return redirect('homepage') 

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

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