2017-07-03 128 views
0

我的资源在底部显示,它是用如何重定向到默认的404页面烧瓶宁静

api.add_resource(JobAPI, '/jobs/<int:job_id>')

我也有一个自定义的404页挂接到/jobs/。如果请求的job_id不存在,我如何重定向到自定义404页面?我试图用abort(404)但它只显示了一些JSON消息

{ “消息”:“所请求的URL没有在服务器上找到。如果你手动输入网址,请检查您的拼写,然后重试你。 已请求此URI [/ jobs/1],但您的意思是/ jobs/ ?“ }

我也试图return redirect()但由于marshal_with已被使用,它不重定向而是坚持返回一个作业实例。

class JobAPI(Resource):                
     """                    
     Simple job                  
     """                    
     @marshal_with(job_fields)              
     def get(self, job_id):               
      job = Job.query.get(job_id)             
      if job is None:                
       abort(404)                
       # flash('Job does not exist.')           
       # return redirect(url_for('home.index'))        
      return job 
+0

您是否尝试过使用[错误处理程序](http://flask.pocoo.org/docs/0.10/patterns/errorpages/)? [这里同样的问题](https://stackoverflow.com/questions/29516093/how-to-redirect-to-a-external-404-page-python-flask) –

回答