在Django中创建唯一的会话URL

时间:2019-02-14 03:32:47

标签: python django url

我目前正在使用Django构建一个Web应用程序,其主要目的是提供一个电子学习,辅导风格的平台。我当前面临的问题是有关如何创建供参与者遵循的唯一会话URL的最佳实践。

理想情况下,将通过日程表中的信息来创建此URL(例如,学生A预定在201X年2月X日7:00 PM至8:00 PM与A老师见面的日程表)。

到目前为止,我已经尝试使用SQL数据库存储有关会话的信息(参与者,日期/时间),然后使用URL调度程序创建这些URL。

from django.urls import path

urlpatterns = [path('workspace/', views.workspace, {unique session id}),

每个会话将使用相同的基础HTML / CSS / JS,并且提供服务不是问题。问题是如何轻松地创建URL,每天可能创建数千个唯一URL,并在设置的时间参数内使这些URL可用。

1 个答案:

答案 0 :(得分:1)

在这种情况下,我将编写Django管理命令,以便每天运行类似

./manage.py create_sessions

,该命令将为所有计划的会话创建数据库条目(很难说这是如何工作的,而无需查看模型,但是会使用类似

intervals = [<your logic for establishing intervals>]

for i in intervals:
    TeachingSession.get_or_create(start=interval.datetime, foo=bar)

您将intervals设置为日期时间对象列表的位置。

查找management commandsget_or_create的文档。

一旦稳定并得到验证,就可以通过cron作业触发此管理命令。

请注意,“会话”是一个有问题的词,因为它与http会话管理重叠-我会选择其他名称。