Ben werkzeug middleware tarafından gönderilen birkaç Flask örnekleri ile karmaşık bir flask uygulaması var. Ve bu durumda, aslında url_for ile değil, flask içerik yönetimi ile ilgili iki sorum var.url_for
1) Bir uygulamadan diğerine nasıl url oluştururum?
2) Ana - app_context olmadan belirli bir uygulama için nasıl url oluştururum. Örneğin, ithalat zamanında veya kereviz görevinden bazı URL'ler oluşturmanız gerekir. Ben tüm uygulama örneklerini üzerinde sarmalayıcı yapmak ve
def url_for(self, *args, **kwargs):
with self.app.app_context():
return url_for(*args, **kwargs)
gibi url_for yeniden tanımlamak için çalıştı ama sadece hata aşağıdaki alınan "Uygulama isteği bağımsız URL nesil için bir URL bağdaştırıcı oluşturulması mümkün değildi. Sen bunu düzeltebilirsiniz mümkün olabilir SERVER_NAME yapılandırma değişkeni ayarlanıyor. " Herhangi bir öneriniz var mı?
Güncelleme: İkinci sorun için benim çözüm sadece SERVER_NAME eklemek için gerekli, doğru, ama birincisi hala açık ben her uygulama
absolute_url_adapter = app.url_map.bind_to_environ({
'wsgi.url_scheme': 'http',
'HTTP_HOST': app.config['SERVER_NAME'],
'SCRIPT_NAME': app.url_prefix,
'REQUEST_METHOD': 'GET',
})
url_prefix için ayrılmış URL oluşturucu oluşturarak sona erdi
Hiç bir çözüm buldunuz mu? –
Her uygulama için özel url_builder oluşturmayı ve rotalarını kullanmayı bitirdim. Başka bir yol yok, flask çok uygulama mimarisi için hiç destek vermiyor = ( – free2use
Genelleştirilmiş bir sürümü paylaşabilme şansınız var mı? –