问题背景
您好,我在解决如何将auth令牌集成到我的应用程序中时遇到了一些问题。 目前,我按照文档设置了所有内容(至少我是这么认为的,请参阅我查看过的文档中的第1点)。我可以访问身份验证令牌端点,实际上获得一个令牌,我也可以验证它是否允许我使用该令牌进行身份验证,因为我已将其添加到我的某些端点所需的权限中(下面提供)。
核心问题
我的问题是,我试图弄清楚如何将用户的帖子与他们的身份令牌相关联,并让他们成为'所有者'该帖子的标记,但使用他们的用户名'而不是他们的标记'串。我感谢任何和所有的帮助:)
在我的models.py文件中...我收到的错误是所有者必须是'用户'而且我是从Django auth.User那里假设的。我想知道如何更改它,以便它使用令牌来确定用户是谁并将其保存为他们的名字。我查看了文档,但我不确定在哪里可以找到它。
我查看的文件
正如我先前所述,我可以使用我的代码在我的视图中使用我的代码进行身份验证....并且它运行正常,没有错误。这让我相信我对我的model.py做了一些错误(粘贴在下面)。
authentication_classes = (authentication.TokenAuthentication,)
models.py
from django.db import models
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
# Create your models here.
class PRequests(models.Model):
created = models.DateTimeField(auto_now_add=True)
owner = models.ForeignKey('auth.User', related_name='p_requests')
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
pmessage = models.TextField()
approved = models.BooleanField(default=False)
def save(self, *args, **kwargs):
super(PRequests, self).save(*args,**kwargs)
settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'api',
'rest_framework',
'rest_framework.authtoken',
'wlmapp',
'p_requests',
'corsheaders',
'nuggets',
)
我已将authtoken添加到框架并包含一个端点,以便用户可以实际接收令牌。
urlpatterns += patterns('',
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token'),
)
答案 0 :(得分:0)
在对问题进行进一步调查之后,似乎我做了所有事情,除了我必须清除数据库(删除数据库)以便令牌正确完成。遗憾的是,迁移并没有奏效。
开始工作的步骤: 1.删除本地sql lite数据库 2.重新创建数据库 得到我的令牌 4.恢复正常操作,现在一切运行良好:)