javascript - 我不知道如何将 .html 文件之一从测验应用程序连接到 django 应用程序。(找不到页面 (404))
问题描述
我的(Django)basic_app 中有一个 quiz_app(位于 QuizApp 文件夹中)。到目前为止一切正常,游戏结束并且 quiz_end.html(以前的 end.html)页面没有显示。
此链接指向 quiz_game.js,它(链接)位于 quiz_game.html 文件中 - (在本例中,quiz_js 是位于 django 的静态文件夹中的文件夹)
<script src="{% static "quiz_js/quiz_game.js" %}">
这是 end.html 文件的某种链接(请注意,end.html 很快将重命名为 quiz_end.html 文件),该链接位于 quiz_game.js 文件中 - (它是if 语句 - 如果没有问题,则游戏结束)
if (availableQuestions.length === 0 || questionCounter >= MAX_QUESTIONS) {
localStorage.setItem("mostRecentScore", score);
//go to the end page
return window.location.assign("/end.html");
};
(您可以在此处查看此文件的完整代码 - https://github.com/jamesqquick/Build-A-Quiz-App-With-HTML-CSS-and-JavaScript/blob/master/Quiz%20App%20Master/ game.js - 它只是称为 game.js 而不是 quiz_game.js + 您可以在此处查看测验应用程序中的所有文件 - https://github.com/jamesqquick/Build-A-Quiz-App-With -HTML-CSS-and-JavaScript/tree/master/Quiz%20App%20Master - 唯一的区别是,我必须将 .css 和 .js 文件放到 Django 的静态文件夹中)
我已将 end.html 文件重命名为 quiz_end.html 并且因为我使用的是 Django,所以我试图将 Django 的模板标签合并到 quiz_game.js 文件中,就像这样 - (我不确定,如果我做得对,但它是一个标准的 url 标记,在添加到 .html 文件时有效,但我不确定是否是将其添加到 .js 文件的正确方法)
getNewQuestion = () => {
if (availableQuestions.length === 0 || questionCounter >= MAX_QUESTIONS) {
localStorage.setItem("mostRecentScore", score);
//go to the end page
return window.location.assign("{% url 'quiz_end' %}");
};
问题是,这是我第一次尝试在使用 Django 时将浏览器从 .js 文件重定向到 .html 文件,但我真的不知道该怎么做。
quiz_end.html 文件的视图和 url 模式应该没问题。他们来了 -
def quiz_end(request):
return render(request,'basic_app/QuizApp/quiz_end.html')
和
url(r'^quiz_end/$', views.quiz_end, name='quiz_end'),
我也不知道,为什么游戏结束后浏览器仍将我重定向到 /end.html 而不是将我重定向到 /quiz_end.html。
有人可以帮我吗?非常感谢您提前。
解决方案
我有一个类似的问题,通过将应用程序的命名空间添加到 url 并像这样调用它来解决它:
{% url 'quiz_app:quiz_end' %}