【问题标题】:Install django-tracking2安装 django-tracking2
【发布时间】:2016-04-24 19:41:53
【问题描述】:

我正在尝试使用应用程序 Django-Tracking2 从这里:https://github.com/bruth/django-tracking2

我在 Python 3.4 和 Django 1.8.7 上运行

所以我 pip install django-tracking2 (Successfull)

  • 我在 settings.py 中对 INSTALLED_APPS 进行了跟踪
  • 我把“tracking.middleware.VisitorTrackingMiddleware”放在 MIDDLEWARE_CLASSES
  • 我把 url(r'^tracking/', include('tracking.urls')), 放在我的 urls.py 中

那么,

  • 我启动了我的虚拟环境
  • 我连接到我的 Admin Django
  • 转到 localhost/tracking/

但是我有一个问题, 当我继续 localhost/tracking/ 我有这个错误:

/tracking/处的AttributeError

“配置文件”对象没有属性“has_perms”

追溯: get_response 中的文件“C:\Python34\lib\site-packages\django\core\handlers\base.py”

  1. response = Wrapped_callback(request, *callback_args, **callback_kwargs)

_wrapped_view 中的文件“C:\Python34\lib\site-packages\django\contrib\auth\decorators.py”

  1. if test_func(request.user):

check_perms 中的文件“C:\Python34\lib\site-packages\django\contrib\auth\decorators.py”

  1. 如果 user.has_perms(perms):

内部文件“C:\Python34\lib\site-packages\django\utils\functional.py”

  1. 返回函数(self._wrapped, *args)

异常类型:AttributeError at /tracking/

异常值:“配置文件”对象没有属性“has_perms”

如果有人可以帮助我,那就太好了。

【问题讨论】:

    标签: django python-3.4


    【解决方案1】:

    您是否使用自定义用户模型?如果是这样,它必须从 Django 的 AbstractBaseUser 类派生并使用 PermissionsMixin。

    this。 Django-Tracking2 查找用户模型的标准字段/方法,在这种情况下没有找到它们。

    也许发布您的用户模型的定义位置和设置中的 CUSTOM_AUTH_MODEL(如果设置),我们可以提供更多帮助。

    例如,如果您的 Profile 模型如下所示:

    from django.db import models
    
    class Profile(models.Model):
        ...
    

    改成这样:

    from django.db import models
    from django.contrib.auth.models import AbstractBaseUser, Permissions Mixin
    
    class Profile(AbstractBaseUser, PermissionsMixin):
        ...
    

    然后,运行python manage.py makemigrationspython manage.py migrate 以更新数据库。所需的字段将出现,django-tracking2 将能够调用所需的字段/方法。

    【讨论】:

    • 没关系,我已经删除了我的数据库,重新制作了一个 makemigrations 和一个迁移,它的工作,
    • 但是现在我有另一个问题,你知道我怎样才能重载这个应用程序的模板吗?
    • 您项目的 TEMPLATE_DIRS 设置列出了一系列文件夹,Django 尝试在其中找到任何模板的匹配项。此外,TEMPLATE_LOADERS 设置指定了 Django 使用哪些方法来查找模板。我通过在 `tracking/dashboard.html' 创建一个目录和文件(w/ 目录)覆盖了仪表板模板或 django-tracking2 的仪表板。查看轨道应用程序本身的模板目录,您将看到相同的文件。有很多要讨论的,这里有一个很好的帖子-tundebabzy.blogspot.com/2013/04/…
    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 2017-04-18
    • 2011-07-22
    • 2013-05-23
    • 2012-12-26
    相关资源
    最近更新 更多