0

我已经研究了几天,发现了很多可能的解决方案,但是大多数教程或文档页面都有一年多的历史了(除了官方的 django 东西),并且适用于旧版本的 django ..或者他们只是不要把事情解释得很清楚。我对 Django 和 python 都比较陌生,所以我需要更多的解释,大多数 tuts 似乎都在给出。

基本上我正在做的是制作一个私人档案档案,并在它的前面有一个博客。非会员只能看到一个登录页面,并且只有通过邀请码注册并登录才能看到网站的其余部分。

我目前使用 Zinnia 作为一个简单的博客应用程序,并自定义其默认模板以满足我的需要。

有谁知道我该如何实现这些功能?

编辑:我正在按照建议阅读教程“处理身份验证和授权”,一切似乎都很顺利,直到我必须创建基于类的视图。由于本教程正在使用某种示例“联系人列表”类型的应用程序,并且我正在管理一个百日草博客,我想知道您是否可以帮助我找出要使用的正确类/模型。我的views.py文件目前如下,可能是不正确的:

#                           blog/views.py

from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator

class LoggedInMixin(object):

    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super(LoggedInMixin, self).dispatch(*args, **kwargs)

class ListBlogView(LoggedInMixin, ListView):

    model = Entry
    template_name = 'base.html'

    def get_queryset(self):

        return Entry.objects.filter(owner=self.request.user)

不知道我将如何更改此代码以匹配我正在尝试做的事情。我很确定“模型”、“模板名称”和“返回”应该对应于与百日草相关的东西,但我真的很难过。

4

1 回答 1

0

在我看来,您可以使用 LoginRequiredMiddleware 来检查该用户在每个可能的视图中都经过身份验证。如果没有,则将他重定向到登录页面。

https://djangosnippets.org/snippets/1179/

编辑:

在对用户进行身份验证时,您应该查看以下教程:

如何正确使用django内置登录视图

主页登录表单 Django

http://effectivedjango.com/tutorial/authzn.html

http://dustindavis.me/django-login-form-on-every-page/

完成它们需要一些时间,但你应该多练习一下,以便对 Python 和 Django 更有信心。

于 2015-02-25T14:01:57.783 回答