动态 Django-Javascript [初学者]

Dynamic Django-Javascript [Beginner]

这就是我要为我的项目完成的目标。

上下文:教育数学网站

目标:当用户点击 "Beginners" 部分时,他将被问到一个问题。问题将得到处理,如果正确,他可以按 "Again",然后会问另一个随机问题。

每个问题都是动态生成的,它存储在一个视图中,而不是 model/database。

因此我有一个 .html 文件,它呈现多个随机选择的视图(即随机选择要显示的问题)。

每个问题都不一样。

样题"Mary has 8 apples, she eats 3. How much does she have left?"

这道题,我想JavaScript打印出8张苹果的图片。

另一个问题"Bob has 6 cars and buys 4 more..."

这道题,我想JavaScript打印出4辆汽车

等等……

是否可以有一个 javascript 文件来检测所回答问题的类型并生成适当的图形,或者这是一种不好的做法,因为文件可能会变得非常大非常快我担心它可能会降低服务器速度。有更好的方法吗

我能否从 Django 视图将 javascript 代码发送到 .js 文件,这样只需要处理相关代码

我已经知道如何让 JavaScript 做我想做的事,我只是不确定这是最有效/优化的方式:-)

我看到两种可能性:

  • 您将所有数据存储在 HTML 中,您首先将其隐藏,然后使用 Javascript 按需显示。这将导致它超大(并且可能是混乱的 HTML 和 JS)文件。但这可以做你想做的。您可以简单地使用 HTML/CSS/JS 堆栈来完成您的项目。

  • 您创建了一个非常空的 HTML 文件,您将使用 AJAX 调用 Django 视图来动态修改该文件。这次是 Django Ajax View 逻辑,根据你有多少问题会变得很乱。

as the file could get really big really fast and I'm concerned it might slow down the server

页面加载时间只会变长,具体取决于图像数量和 Javascript 加载时间。

Can I send the javascript code to the .js file from the Django view, so that way only the relevant code needs to be processed?

最终你可以从 Django 发送 javascript 到前端,但这样做并不是那么明智。您应该优化 Javascript 以专注于可重用性。

I'm just not sure that it's the most efficient / optimised way

最有效/优化的方法是使用数据库和 Ajax 随机查询问题。我的意思是,您可以使用旨在存储数据的技术做更多事情。

就在我完成此 post 时,我想知道为什么您不想使用数据库。 我想也许你不能设置数据库服务器,没关系,你可以使用 SQLite. It is serverless,我认为它会大大简化你的项目。如果我猜错了,请注意我的假设。