adresinden erişebilirsiniz. HTTP çağrısının yanıtını vermeden önce istek nesnesine erişebilmek istiyorum.Flask - talebe after_request veya teardown_request
g.curr_request = request
@app.after_request
def after_request(response):
# get the request object somehow
do_something_based_on_the_request_endpoint(g.curr_request)
Ama yukarıda görünüyor: Ben g isteği ekleyip böyle bir şey yapabileceği gördü
from flask import Flask
...
app = Flask(__name__, instance_relative_config=True)
...
@app.before_request
def before_request():
# do something
@app.after_request
def after_request(response):
# get the request object somehow
do_something_based_on_the_request_endpoint(request)
@app.teardown_request
def teardown_request(response):
# get the request object somehow
do_something_based_on_the_request_endpoint(request)
: Ben "teardown_request" ve "after_request" üzerinden talep erişmek isteyen biraz garip. Eminim ki bu talebe ulaşmak için daha iyi bir yol var.
Teşekkür
Sorunuzu biraz açıklığa kavuşturabilir misiniz: 1) İlgili içe aktarma ifadelerini ekleme 2) "Teardown_request" ve "after_request" yoluyla erişim istiyorum "ile ne demek istiyorsunuz?" – joostdevries
@joostdevries - Soruyu düzenledim. Yanıtı göndermeden önce orijinal talebe dayanarak bazı işlemler yapmak istiyorum (benim durumumda, istek URL'sine dayanan db işlemleriyle ilgili bazı şeyleri halletmem gerekiyor ...), ancak nasıl erişeceğimi bilmiyorum. "after_request" ve "teardown_request" istekleri – Lin
Talebin referansını tutmak için g'yi kullanmanın nesi yanlış, ya da belki daha iyisi, url ya da URL'nin ilgili kısmı? İstediğiniz şeyin tam tersini yapmak için önerilen desen verildiğinde (before_request() yöntemindeki cevabı değiştirin) g öğesini basit ve makul bir çözüm gibi görünün: http://flask.pocoo.org/docs/0.10/patterns/deferredcallbacks/ – bsa