Getting 'KeyError: None' error when trying to use customer errorhandler - Flask











up vote
1
down vote

favorite












I have the following:



def handle_error_404(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('404.html', selected_menu_item=None)


def handle_error_500(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('500.html', selected_menu_item=None)


def init_error_handlers(app):
if app:
app.error_handler_spec[None][404] = handle_error_404
app.error_handler_spec[None][500] = handle_error_500


I was following a tutorial on how to use customer error handlers, but I can't seem to find a way around this error. How can I get around this?










share|improve this question


























    up vote
    1
    down vote

    favorite












    I have the following:



    def handle_error_404(error):
    flash('Server says: {0}'.format(error), 'error')
    return render_template('404.html', selected_menu_item=None)


    def handle_error_500(error):
    flash('Server says: {0}'.format(error), 'error')
    return render_template('500.html', selected_menu_item=None)


    def init_error_handlers(app):
    if app:
    app.error_handler_spec[None][404] = handle_error_404
    app.error_handler_spec[None][500] = handle_error_500


    I was following a tutorial on how to use customer error handlers, but I can't seem to find a way around this error. How can I get around this?










    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I have the following:



      def handle_error_404(error):
      flash('Server says: {0}'.format(error), 'error')
      return render_template('404.html', selected_menu_item=None)


      def handle_error_500(error):
      flash('Server says: {0}'.format(error), 'error')
      return render_template('500.html', selected_menu_item=None)


      def init_error_handlers(app):
      if app:
      app.error_handler_spec[None][404] = handle_error_404
      app.error_handler_spec[None][500] = handle_error_500


      I was following a tutorial on how to use customer error handlers, but I can't seem to find a way around this error. How can I get around this?










      share|improve this question













      I have the following:



      def handle_error_404(error):
      flash('Server says: {0}'.format(error), 'error')
      return render_template('404.html', selected_menu_item=None)


      def handle_error_500(error):
      flash('Server says: {0}'.format(error), 'error')
      return render_template('500.html', selected_menu_item=None)


      def init_error_handlers(app):
      if app:
      app.error_handler_spec[None][404] = handle_error_404
      app.error_handler_spec[None][500] = handle_error_500


      I was following a tutorial on how to use customer error handlers, but I can't seem to find a way around this error. How can I get around this?







      python flask error-handling






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 17 at 21:53









      J.Oh

      183




      183
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          The flask docs say you should register an error handler using the errorhandler decorator. An example using your code:



          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)


          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)


          def init_error_handlers(app):
          if app:
          app.errorhandler(404)(handle_error_404)
          app.errorhandler(500)(handle_error_500)


          Alternatively:



          def init_error_handlers(app):
          if app:
          @app.errorhandler(404)
          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)

          @app.errorhandler(500)
          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)





          share|improve this answer





















          • This worked. Thank you!!
            – J.Oh
            Nov 17 at 22:22










          • @J.Oh, then feel free to mark it as the answer ;-)
            – augray
            Nov 18 at 3:26











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53355899%2fgetting-keyerror-none-error-when-trying-to-use-customer-errorhandler-flask%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote



          accepted










          The flask docs say you should register an error handler using the errorhandler decorator. An example using your code:



          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)


          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)


          def init_error_handlers(app):
          if app:
          app.errorhandler(404)(handle_error_404)
          app.errorhandler(500)(handle_error_500)


          Alternatively:



          def init_error_handlers(app):
          if app:
          @app.errorhandler(404)
          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)

          @app.errorhandler(500)
          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)





          share|improve this answer





















          • This worked. Thank you!!
            – J.Oh
            Nov 17 at 22:22










          • @J.Oh, then feel free to mark it as the answer ;-)
            – augray
            Nov 18 at 3:26















          up vote
          0
          down vote



          accepted










          The flask docs say you should register an error handler using the errorhandler decorator. An example using your code:



          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)


          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)


          def init_error_handlers(app):
          if app:
          app.errorhandler(404)(handle_error_404)
          app.errorhandler(500)(handle_error_500)


          Alternatively:



          def init_error_handlers(app):
          if app:
          @app.errorhandler(404)
          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)

          @app.errorhandler(500)
          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)





          share|improve this answer





















          • This worked. Thank you!!
            – J.Oh
            Nov 17 at 22:22










          • @J.Oh, then feel free to mark it as the answer ;-)
            – augray
            Nov 18 at 3:26













          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted






          The flask docs say you should register an error handler using the errorhandler decorator. An example using your code:



          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)


          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)


          def init_error_handlers(app):
          if app:
          app.errorhandler(404)(handle_error_404)
          app.errorhandler(500)(handle_error_500)


          Alternatively:



          def init_error_handlers(app):
          if app:
          @app.errorhandler(404)
          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)

          @app.errorhandler(500)
          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)





          share|improve this answer












          The flask docs say you should register an error handler using the errorhandler decorator. An example using your code:



          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)


          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)


          def init_error_handlers(app):
          if app:
          app.errorhandler(404)(handle_error_404)
          app.errorhandler(500)(handle_error_500)


          Alternatively:



          def init_error_handlers(app):
          if app:
          @app.errorhandler(404)
          def handle_error_404(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('404.html', selected_menu_item=None)

          @app.errorhandler(500)
          def handle_error_500(error):
          flash('Server says: {0}'.format(error), 'error')
          return render_template('500.html', selected_menu_item=None)






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 17 at 22:08









          augray

          2,0151123




          2,0151123












          • This worked. Thank you!!
            – J.Oh
            Nov 17 at 22:22










          • @J.Oh, then feel free to mark it as the answer ;-)
            – augray
            Nov 18 at 3:26


















          • This worked. Thank you!!
            – J.Oh
            Nov 17 at 22:22










          • @J.Oh, then feel free to mark it as the answer ;-)
            – augray
            Nov 18 at 3:26
















          This worked. Thank you!!
          – J.Oh
          Nov 17 at 22:22




          This worked. Thank you!!
          – J.Oh
          Nov 17 at 22:22












          @J.Oh, then feel free to mark it as the answer ;-)
          – augray
          Nov 18 at 3:26




          @J.Oh, then feel free to mark it as the answer ;-)
          – augray
          Nov 18 at 3:26


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53355899%2fgetting-keyerror-none-error-when-trying-to-use-customer-errorhandler-flask%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

          Alcedinidae

          Origin of the phrase “under your belt”?