动态Django-Javascript [初学者]

时间:2018-01-09 01:11:39

标签: javascript python django dynamic views

这就是我想为我的项目完成的事情。

背景:教育数学网站

目标:当用户点击"初学者"一节,他会被问到一个问题。问题将被处理,如果是,他可以按"再次"然后,问了另一个随机问题。

每个问题都是动态生成的,它存储在视图中而不是模型/数据库中。

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

每个问题都不同。

示例问题"玛丽有8个苹果,她吃了3个她离开了多少?"

在这个问题中,我想让JavaScript打印出8张苹果图片。

另一个问题"鲍勃有6辆车,又买了4辆......"

在这个问题中,我想让JavaScript打印4辆汽车

等等...

是否可以使用一个javascript文件来检测已回答的问题类型并生成相应的graphcis,或者这是不好的做法,因为文件可能会变得非常快,我关注它可能会减慢服务器的速度。有更好的方法吗

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

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

1 个答案:

答案 0 :(得分:0)

我看到两种可能性:

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

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

  

因为文件可能变得非常快,我担心它可能会降低服务器速度

页面加载只会变长,具体取决于要加载的图片数量和Javascript。

  

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

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

  

我不确定它是最有效/最优化的方式

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

就在我完成这篇文章的时候,我想知道你为什么不想使用数据库。 我想也许你无法设置数据库服务器,没关系,你可以使用SQLite。它是serverless,在我看来它会让你的项目变得如此轻松。如果我猜错了,请记住我的假设。