Django : send_mail HttpResponseRedirect
Django : send_mail HttpResponseRedirect
我有一个关于 return 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', 'patrice.kerviel@gmail.com',
[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'patrice.kerviel@gmail.com',
[instance.user.email])
elif instance.etat=='1':
send_mail(u"demande refusée", u'Bonjour, votre demande est refusée', u'patrice.kerviel@gmail.com',
[instance.user.email])
return HttpResponseRedirect('/')
urls.py
urlpatterns = patterns('',
#url(r'^$', main_page),
url(r'^$', mainView.as_view(), name='homepage'),
这是什么问题?
你不应该 return 来自 on_post_save
的任何信号。这些 HttpResponseRedirect
响应在保存模型期间被丢弃。
显示保存模型实例的视图的代码。
编辑:好的,我看到你的观点了。将您的视图 success_url
从 /home/
更改为 /
class Demande_Expertise(CreateView):
form_class = Demande_ExpertiseForm
template_name = 'material/demande_expertise3.html'
success_url = '/'
并且不要忘记从 on_post_save
函数中删除 return HttpResponseRedirect()
行。
我认为存在几个问题。
- HttpResponseRedirect 不匹配任何 urlpatterns
- 更重要的是,您不会return模特的回应
您可以在 views.py:
中执行类似的操作
def some_view(request):
element = SomeModel(value=some_value, etc) #this has custom save actions
if element.field == 'something:
return redirect('homepage')
我不确定这是否回答了您的问题,但您可以在模型中自定义保存操作。但是,视图是您应该确定提供哪些模板或页面的地方。
我有一个关于 return 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', 'patrice.kerviel@gmail.com',
[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'patrice.kerviel@gmail.com',
[instance.user.email])
elif instance.etat=='1':
send_mail(u"demande refusée", u'Bonjour, votre demande est refusée', u'patrice.kerviel@gmail.com',
[instance.user.email])
return HttpResponseRedirect('/')
urls.py
urlpatterns = patterns('',
#url(r'^$', main_page),
url(r'^$', mainView.as_view(), name='homepage'),
这是什么问题?
你不应该 return 来自 on_post_save
的任何信号。这些 HttpResponseRedirect
响应在保存模型期间被丢弃。
显示保存模型实例的视图的代码。
编辑:好的,我看到你的观点了。将您的视图 success_url
从 /home/
更改为 /
class Demande_Expertise(CreateView):
form_class = Demande_ExpertiseForm
template_name = 'material/demande_expertise3.html'
success_url = '/'
并且不要忘记从 on_post_save
函数中删除 return HttpResponseRedirect()
行。
我认为存在几个问题。
- HttpResponseRedirect 不匹配任何 urlpatterns
- 更重要的是,您不会return模特的回应
您可以在 views.py:
中执行类似的操作def some_view(request):
element = SomeModel(value=some_value, etc) #this has custom save actions
if element.field == 'something:
return redirect('homepage')
我不确定这是否回答了您的问题,但您可以在模型中自定义保存操作。但是,视图是您应该确定提供哪些模板或页面的地方。