所以我在开发人员中使用Django和React URL路由的问题为零,但是现在我试图进入生产阶段,遇到了各种各样的问题。
是的,涉及到正则表达式时,我很烂。看起来就像只猫在键盘上走路。绝对是我需要坐下来并致力于学习的东西。
在开发人员中,我最擅长的是以下完美工作的工具:
url(r'', TemplateView.as_view(template_name='index.html')),
在生产中,我得到了Uncaught SyntaxError: Unexpected token <。正如向我解释的那样,这与JS被捕获在URL中而不是index.htmlJS需要“通过”有关。有人告诉我尝试:
url(r'^$', TemplateView.as_view(template_name='index.html')),
这行得通。Web应用程序已加载,我能够进行导航。
但是,当涉及到验证电子邮件链接时,出现了另一个问题。我Page not found (404)遇到的问题又不是我的开发设置中的问题。
电子邮件链接如下所示:
https://test.example.com/auth/security_questions/f=ru&i=101083&k=6d7cd2e9903232a5ac28c956b5eded86c8cb047254a325de1a5777b9cca6e537
我得到的是:
Page not found (404)
Requested URL: http://test.example.com/auth/security_questions/f%3Dru&i%3D101083&k%3D6d7cd2e9903232a5ac28c956b5eded86c8cb047254a325de1a5777b9cca6e537/
我的反应路线如下:
<App>
<Switch>
<Route exact path='/auth/security_questions/f=:f&i=:id&k=:key' component={SecurityQuestions} />
<Route exact path='/auth/*' component={Auth} />
<Route exact path='/' component={Auth} />
</Switch>
</App>
这应该渲染/auth/security_questions/...路线。
另外,authentication.urls:
urlpatterns = [
url(r'^security_questions/', SecurityQuestionsAPIView.as_view(), name='security_questions'),
]
似乎Django正在尝试处理路由,显然没有匹配的路由,实际上它应该只是呈现index.html并让其react-router-dom接管以将请求从FE发送到API。因此,看来我需要做一个让JS顺利通过的包罗万象的东西。
我遇到了一个似乎相关的问题:反应路由和django url冲突。因此,我添加了以下内容,以使我有一个“/抓手”,然后“抓紧一切”。
# match the root
url(r'^$', TemplateView.as_view(template_name='index.html')),
# match all other pages
url(r'^(?:.*)/?$', TemplateView.as_view(template_name='index.html')),
仍然不会呈现验证链接。对最后捕获的所有URL进行了其他尝试:
url(r'^', TemplateView.as_view(template_name='index.html')),
结果是 Uncaught SyntaxError: Unexpected token <
url(r'^.*', TemplateView.as_view(template_name='index.html')),
因此,我们将深入研究Django,正则表达式,并尝试对其进行梳理,但与此同时...
我在这里做错了什么?
相关分类