【问题标题】:Django unique URL access per user每个用户的 Django 唯一 URL 访问
【发布时间】:2018-02-06 11:34:08
【问题描述】:
urlpatterns = [
url(r'^(?P<pk>\d+)/$', views.DetailView.as_view(), name='detail'),
]

使用这个 url 模式,在视图中定义这个 url 应该只被当前用户访问一次,而要阅读另一个新闻,第一个应该关闭的最佳方式是什么?

【问题讨论】:

  • 这里的“关闭”对您意味着什么?
  • 该视图不接受同时访问相同的 url 模式。

标签: django python-3.x django-views django-urls


【解决方案1】:

这些逻辑应该在控制器函数中,当用户进入视图时,你应该在任何模型中标记用户访问过的url,例如:

class NewsVisited(Model.models):
    news = models.ForeignKey('News')
    user = models.ForeignKey('User')
....

然后在views.py中你可以检查用户第一次访问时是否访问过或更新:

if NewsVisited.objects.filter(user=user, news=news).first():
    return 404
else:
  NewsVisited(user=user, news=news).save()
....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2019-02-15
    相关资源
    最近更新 更多