मैं PathPrefixRoute ब्लॉक वैकल्पिक की रूट पर ट्रेलिंग स्लैश बनाने का एक तरीका ढूंढ रहा था।
यदि आप हैं, कहते हैं:
from webapp2_extras.routes import RedirectRoute, PathPrefixRoute
from webapp2 import Route
app = webapp2.WSGIApplication([
PathPrefixRoute('admin', [
RedirectRoute('/', handler='DashboardHandler', name='admin-dashboard', strict_slash=True),
RedirectRoute('/sample-page/', handler='SamplePageHandler', name='sample-page', strict_slash=True),
]),
])
आप /admin/
उपयोग करने में सक्षम हो जाएगा, लेकिन नहीं /admin
।
from webapp2_extras.routes import RedirectRoute, PathPrefixRoute
from webapp2 import Route
app = webapp2.WSGIApplication([
Route('admin', handler='DashboardHandler', name='admin-dashboard'),
PathPrefixRoute('admin', [
RedirectRoute('/', redirect_to_name='admin-dashboard'),
RedirectRoute('/sample-page/', handler='SamplePageHandler', name='sample-page', strict_slash=True),
]),
])
मैं इस समस्या का बेहतर समाधान में दिलचस्पी रखता हूँ:
जब से मैं किसी भी बेहतर समाधान नहीं मिल सकता है, मैं की तरह एक अतिरिक्त मार्ग के लिए एक redirect_to_name
जोड़ दिया है,।
क्या मुझे स्टुन के समाधान के लिए जाना चाहिए और केवल RedirectRoute का उपयोग नहीं करना चाहिए?
धन्यवाद। क्या आप कहने का मतलब है कि अगर मेरे पास सौ मार्ग हैं, तो मुझे सौ रीडायरेक्टआउट भी चाहिए? एक बहुत गन्दा समाधान लगता है। –
हाय। नहीं, आप रूट्स को रीडायरेक्ट रूट्स से प्रतिस्थापित करते हैं, इसलिए आपको दोनों की आवश्यकता नहीं है। RedirectRoute वह रूट करता है जो रूट करता है, लेकिन "सख्त_स्लैश" विकल्प, साथ ही साथ कुछ अन्य रीडायरेक्ट कार्यक्षमता भी जोड़ता है। विवरण के लिए ऊपर दिए गए लिंक को देखें। – Aneon
यह हमेशा एक अच्छा विचार नहीं है। यदि आपका ग्राहक वेब ब्राउज़र नहीं है (उदाहरण के लिए, यदि आप अपनी वेबसाइट के लिए http-accessable api लिख रहे हैं), तो यह रीडायरेक्ट का पालन नहीं कर सकता है। – Ponkadoodle