मेरे पास एक एकल पृष्ठ एप्लिकेशन है जो Vue.js में बनाया गया है जो रूटिंग के लिए HTML5 इतिहास मोड का उपयोग करता है, और HTML फ़ाइल Django के साथ परोसा जाता है।एकल पृष्ठ एप्लिकेशन यूआरएल और डीजेंगो यूआरएल
urlpatterns = [
url(r'^$', views.home),
url(r'^admin/', admin.site.urls),
url(r'^api-token-auth/', obtain_jwt_token),
]
और views.home:
- उपयोगकर्ता का दौरा:
def home(request): return render(request, 'index.html')
इस परिदृश्य पर विचार करें
urls.py Django के इसलिए की तरह है होम पेज (यानी,
/
)
चूंकि, होम पेज एकल पेज Vuejs ऐप के लिए आवश्यक index.html के साथ प्रतिक्रिया करता है, यह इसकी तरह काम करता है।
- वहां से उपयोगकर्ता लगभग पृष्ठ पर जाता है (यानी,
/username/12
)।
यह अभी भी ठीक काम कर रहा है, क्योंकि यह वू राउटर के साथ घूम रहा है।
- अब, उपयोगकर्ता पृष्ठ को रीफ्रेश करता है।
चूंकि urls.py पैटर्न में कोई /username/12
है, यह पृष्ठ नहीं मिला (404) दिखाएगा।
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api-token-auth/', obtain_jwt_token),
url(r'^.*$', views.home),
]
लेकिन मीडिया या स्थिर यूआरएल की तरह अन्य यूआरएल भी एक ही को इंगित करेंगे:
अब, मैं इस के रूप में पिछले आदेश में सभी पैटर्न को पकड़ने के लिए urls.py में एक और पद्धति प्रदान कर सकता है सभी पैटर्न regex पकड़ो। इस समस्या का समाधान किस प्रकार से किया जा सकता है?
कैच-ऑल यूआरएल जाने का रास्ता है। यह मीडिया या स्थैतिक को प्रभावित नहीं करेगा, क्योंकि उन्हें उत्पादन में डीजेगो द्वारा सेवा नहीं दी जाती है। –