How to retrieve logged user id in flask?









up vote
1
down vote

favorite












I'm trying to make a web application with login functionality. After successful login, the user should add their request to the database with a SQL command:



db.execute(
'INSERT INTO dailyLeave (dLeaveDateStart, dLeaveDateEnd, dComment, pId) '
'VALUES (?, ?, ?, ?, ?, ?)',
(dLeaveDateStart, dLeaveDateEnd, dComment, pId)


But I need a user id to put it as pId in the database. How can I get logged user id ?



They are in separate blueprints (APIs).










share|improve this question



























    up vote
    1
    down vote

    favorite












    I'm trying to make a web application with login functionality. After successful login, the user should add their request to the database with a SQL command:



    db.execute(
    'INSERT INTO dailyLeave (dLeaveDateStart, dLeaveDateEnd, dComment, pId) '
    'VALUES (?, ?, ?, ?, ?, ?)',
    (dLeaveDateStart, dLeaveDateEnd, dComment, pId)


    But I need a user id to put it as pId in the database. How can I get logged user id ?



    They are in separate blueprints (APIs).










    share|improve this question

























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I'm trying to make a web application with login functionality. After successful login, the user should add their request to the database with a SQL command:



      db.execute(
      'INSERT INTO dailyLeave (dLeaveDateStart, dLeaveDateEnd, dComment, pId) '
      'VALUES (?, ?, ?, ?, ?, ?)',
      (dLeaveDateStart, dLeaveDateEnd, dComment, pId)


      But I need a user id to put it as pId in the database. How can I get logged user id ?



      They are in separate blueprints (APIs).










      share|improve this question















      I'm trying to make a web application with login functionality. After successful login, the user should add their request to the database with a SQL command:



      db.execute(
      'INSERT INTO dailyLeave (dLeaveDateStart, dLeaveDateEnd, dComment, pId) '
      'VALUES (?, ?, ?, ?, ?, ?)',
      (dLeaveDateStart, dLeaveDateEnd, dComment, pId)


      But I need a user id to put it as pId in the database. How can I get logged user id ?



      They are in separate blueprints (APIs).







      python api authentication flask blueprint






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 11 at 1:48









      Dinko Pehar

      586324




      586324










      asked Nov 10 at 21:34









      FSN

      187




      187






















          3 Answers
          3






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          Save Id in session when the user logs in. Then you can retrieve it from the session.



          First, you need to ensure that secret key is set at beginning of your Flask instance like so:



          app = Flask(__name__)
          app.secret_key = 'any random string’
          ...


          When user logs in:




          session['id'] = id




          When you want to retrieve id, use session like python dictionary:




          pId = session['id']




          When user logs out:




          session.pop('id')







          share|improve this answer






















          • can I use this session['id'] in different blueprints and python files in my project?
            – FSN
            Nov 12 at 10:28










          • You can use it across whole flask application. Just import session from flask.
            – Dinko Pehar
            Nov 12 at 11:21

















          up vote
          1
          down vote













          I've this in my init.py:



          def create_app(test_config=None):
          app = Flask(__name__, instance_relative_config=True)
          app.config.from_mapping(
          SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'abanDB.sqlite'),
          )


          Isn't it enough?






          share|improve this answer




















          • It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
            – Dinko Pehar
            Nov 11 at 9:54










          • Okay. Thanks for informing me
            – FSN
            Nov 11 at 10:03

















          up vote
          0
          down vote













          I've done this in auth.py:



          @bp.route('/loginUser', methods=('GET', 'POST'))
          def loginUser():
          personId = request.form['personId']
          session['id'] = personId
          password = request.form['password']


          and in off.py (where user should add requests):



          @bp.route('/dailyUser', methods=('GET', 'POST'))
          @login_required
          def dailyUser():
          dComment = request.form['dComment']
          dLeaveDateStart = request.form['dLeaveDateStart']
          dLeaveDateEnd = request.form['dLeaveDateEnd']
          pId = session['id']
          print(pId)


          but it prints nothing. What should I do?






          share|improve this answer




















          • Check out my answer, I updated it
            – Dinko Pehar
            Nov 11 at 8:46










          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%2f53243629%2fhow-to-retrieve-logged-user-id-in-flask%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          3 Answers
          3






          active

          oldest

          votes








          3 Answers
          3






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote



          accepted










          Save Id in session when the user logs in. Then you can retrieve it from the session.



          First, you need to ensure that secret key is set at beginning of your Flask instance like so:



          app = Flask(__name__)
          app.secret_key = 'any random string’
          ...


          When user logs in:




          session['id'] = id




          When you want to retrieve id, use session like python dictionary:




          pId = session['id']




          When user logs out:




          session.pop('id')







          share|improve this answer






















          • can I use this session['id'] in different blueprints and python files in my project?
            – FSN
            Nov 12 at 10:28










          • You can use it across whole flask application. Just import session from flask.
            – Dinko Pehar
            Nov 12 at 11:21














          up vote
          0
          down vote



          accepted










          Save Id in session when the user logs in. Then you can retrieve it from the session.



          First, you need to ensure that secret key is set at beginning of your Flask instance like so:



          app = Flask(__name__)
          app.secret_key = 'any random string’
          ...


          When user logs in:




          session['id'] = id




          When you want to retrieve id, use session like python dictionary:




          pId = session['id']




          When user logs out:




          session.pop('id')







          share|improve this answer






















          • can I use this session['id'] in different blueprints and python files in my project?
            – FSN
            Nov 12 at 10:28










          • You can use it across whole flask application. Just import session from flask.
            – Dinko Pehar
            Nov 12 at 11:21












          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted






          Save Id in session when the user logs in. Then you can retrieve it from the session.



          First, you need to ensure that secret key is set at beginning of your Flask instance like so:



          app = Flask(__name__)
          app.secret_key = 'any random string’
          ...


          When user logs in:




          session['id'] = id




          When you want to retrieve id, use session like python dictionary:




          pId = session['id']




          When user logs out:




          session.pop('id')







          share|improve this answer














          Save Id in session when the user logs in. Then you can retrieve it from the session.



          First, you need to ensure that secret key is set at beginning of your Flask instance like so:



          app = Flask(__name__)
          app.secret_key = 'any random string’
          ...


          When user logs in:




          session['id'] = id




          When you want to retrieve id, use session like python dictionary:




          pId = session['id']




          When user logs out:




          session.pop('id')








          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 11 at 8:46

























          answered Nov 10 at 23:27









          Dinko Pehar

          586324




          586324











          • can I use this session['id'] in different blueprints and python files in my project?
            – FSN
            Nov 12 at 10:28










          • You can use it across whole flask application. Just import session from flask.
            – Dinko Pehar
            Nov 12 at 11:21
















          • can I use this session['id'] in different blueprints and python files in my project?
            – FSN
            Nov 12 at 10:28










          • You can use it across whole flask application. Just import session from flask.
            – Dinko Pehar
            Nov 12 at 11:21















          can I use this session['id'] in different blueprints and python files in my project?
          – FSN
          Nov 12 at 10:28




          can I use this session['id'] in different blueprints and python files in my project?
          – FSN
          Nov 12 at 10:28












          You can use it across whole flask application. Just import session from flask.
          – Dinko Pehar
          Nov 12 at 11:21




          You can use it across whole flask application. Just import session from flask.
          – Dinko Pehar
          Nov 12 at 11:21












          up vote
          1
          down vote













          I've this in my init.py:



          def create_app(test_config=None):
          app = Flask(__name__, instance_relative_config=True)
          app.config.from_mapping(
          SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'abanDB.sqlite'),
          )


          Isn't it enough?






          share|improve this answer




















          • It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
            – Dinko Pehar
            Nov 11 at 9:54










          • Okay. Thanks for informing me
            – FSN
            Nov 11 at 10:03














          up vote
          1
          down vote













          I've this in my init.py:



          def create_app(test_config=None):
          app = Flask(__name__, instance_relative_config=True)
          app.config.from_mapping(
          SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'abanDB.sqlite'),
          )


          Isn't it enough?






          share|improve this answer




















          • It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
            – Dinko Pehar
            Nov 11 at 9:54










          • Okay. Thanks for informing me
            – FSN
            Nov 11 at 10:03












          up vote
          1
          down vote










          up vote
          1
          down vote









          I've this in my init.py:



          def create_app(test_config=None):
          app = Flask(__name__, instance_relative_config=True)
          app.config.from_mapping(
          SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'abanDB.sqlite'),
          )


          Isn't it enough?






          share|improve this answer












          I've this in my init.py:



          def create_app(test_config=None):
          app = Flask(__name__, instance_relative_config=True)
          app.config.from_mapping(
          SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'abanDB.sqlite'),
          )


          Isn't it enough?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 11 at 9:02









          FSN

          187




          187











          • It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
            – Dinko Pehar
            Nov 11 at 9:54










          • Okay. Thanks for informing me
            – FSN
            Nov 11 at 10:03
















          • It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
            – Dinko Pehar
            Nov 11 at 9:54










          • Okay. Thanks for informing me
            – FSN
            Nov 11 at 10:03















          It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
          – Dinko Pehar
          Nov 11 at 9:54




          It should be. And you can comment under some answer, you don't need to put new answers on your question. Welcome to stack overflow.
          – Dinko Pehar
          Nov 11 at 9:54












          Okay. Thanks for informing me
          – FSN
          Nov 11 at 10:03




          Okay. Thanks for informing me
          – FSN
          Nov 11 at 10:03










          up vote
          0
          down vote













          I've done this in auth.py:



          @bp.route('/loginUser', methods=('GET', 'POST'))
          def loginUser():
          personId = request.form['personId']
          session['id'] = personId
          password = request.form['password']


          and in off.py (where user should add requests):



          @bp.route('/dailyUser', methods=('GET', 'POST'))
          @login_required
          def dailyUser():
          dComment = request.form['dComment']
          dLeaveDateStart = request.form['dLeaveDateStart']
          dLeaveDateEnd = request.form['dLeaveDateEnd']
          pId = session['id']
          print(pId)


          but it prints nothing. What should I do?






          share|improve this answer




















          • Check out my answer, I updated it
            – Dinko Pehar
            Nov 11 at 8:46














          up vote
          0
          down vote













          I've done this in auth.py:



          @bp.route('/loginUser', methods=('GET', 'POST'))
          def loginUser():
          personId = request.form['personId']
          session['id'] = personId
          password = request.form['password']


          and in off.py (where user should add requests):



          @bp.route('/dailyUser', methods=('GET', 'POST'))
          @login_required
          def dailyUser():
          dComment = request.form['dComment']
          dLeaveDateStart = request.form['dLeaveDateStart']
          dLeaveDateEnd = request.form['dLeaveDateEnd']
          pId = session['id']
          print(pId)


          but it prints nothing. What should I do?






          share|improve this answer




















          • Check out my answer, I updated it
            – Dinko Pehar
            Nov 11 at 8:46












          up vote
          0
          down vote










          up vote
          0
          down vote









          I've done this in auth.py:



          @bp.route('/loginUser', methods=('GET', 'POST'))
          def loginUser():
          personId = request.form['personId']
          session['id'] = personId
          password = request.form['password']


          and in off.py (where user should add requests):



          @bp.route('/dailyUser', methods=('GET', 'POST'))
          @login_required
          def dailyUser():
          dComment = request.form['dComment']
          dLeaveDateStart = request.form['dLeaveDateStart']
          dLeaveDateEnd = request.form['dLeaveDateEnd']
          pId = session['id']
          print(pId)


          but it prints nothing. What should I do?






          share|improve this answer












          I've done this in auth.py:



          @bp.route('/loginUser', methods=('GET', 'POST'))
          def loginUser():
          personId = request.form['personId']
          session['id'] = personId
          password = request.form['password']


          and in off.py (where user should add requests):



          @bp.route('/dailyUser', methods=('GET', 'POST'))
          @login_required
          def dailyUser():
          dComment = request.form['dComment']
          dLeaveDateStart = request.form['dLeaveDateStart']
          dLeaveDateEnd = request.form['dLeaveDateEnd']
          pId = session['id']
          print(pId)


          but it prints nothing. What should I do?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 11 at 7:05









          FSN

          187




          187











          • Check out my answer, I updated it
            – Dinko Pehar
            Nov 11 at 8:46
















          • Check out my answer, I updated it
            – Dinko Pehar
            Nov 11 at 8:46















          Check out my answer, I updated it
          – Dinko Pehar
          Nov 11 at 8:46




          Check out my answer, I updated it
          – Dinko Pehar
          Nov 11 at 8:46

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243629%2fhow-to-retrieve-logged-user-id-in-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







          這個網誌中的熱門文章

          Barbados

          How to read a connectionString WITH PROVIDER in .NET Core?

          Node.js Script on GitHub Pages or Amazon S3