【问题标题】:How to redirect to default 404 page with flask-restful如何使用 flask-restful 重定向到默认的 404 页面
【发布时间】:2017-07-03 14:06:25
【问题描述】:

我的资源显示在底部,它使用 /jobs/ 挂钩

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

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

{ "message": "在服务器上找不到请求的 URL。如果您手动输入了 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 

【问题讨论】:

标签: python redirect flask flask-restful


【解决方案1】:

尝试在您的烧瓶应用程序配置中设置ERROR_404_HELP=False,对我有用。 Flask-Restful Doc link here

【讨论】:

    【解决方案2】:

    如上一个答案中正确提到的,在您创建烧瓶对象的文件中将烧瓶对象配置 ERROR_404_HELP 设置为 False。

    app = Flask(__name__)
    app.config['ERROR_404_HELP'] = False
    

    【讨论】:

      猜你喜欢
      • 2017-07-18
      • 1970-01-01
      • 2012-12-18
      • 2011-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2013-12-26
      相关资源
      最近更新 更多