我遇到了返回HttpResponseRedirect
的问题错误是找不到页面
请求网址: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'),
这是什么问题?
答案 0 :(得分:0)
你不能从on_post_save
信号中返回任何内容。在保存模型期间,这些HttpResponseRedirect
响应会被抛弃。
显示保存模型实例的视图的代码。
编辑:好的,我看到你了。将您的观看次数success_url
从/home/
更改为/
class Demande_Expertise(CreateView):
form_class = Demande_ExpertiseForm
template_name = 'material/demande_expertise3.html'
success_url = '/'
并且不要忘记从return HttpResponseRedirect()
功能中删除on_post_save
行。
答案 1 :(得分:0)
我认为有几个问题。
您可以在views.py中执行类似的操作:
def some_view(request):
element = SomeModel(value=some_value, etc) #this has custom save actions
if element.field == 'something:
return redirect('homepage')
我不确定这是否可以回答您的问题,但您可以在模型中自定义保存操作。但是,视图是您应该确定要提供哪些模板或页面的地方。