私はDjango-Rest-Frameworkでユーザー登録を作成しようとしています。それはトークンを求めているDjango-RESTフレームワークトークンの登録
{ "detail": "Authentication credentials were not provided." }
:私は私のURLに行くときしかし、私はこのメッセージが表示されますか?私はユーザーを登録しようとしているので、この時点では必要ない/必要がないはずです。
マインドあなたは、私はちょうど私のブラウザを使用していますし、ちょうど私が、私は角度で遊んとAPIを要求していないよ
127.0.0.1:8000/register
に行きますちょうど私が得るものを見るために私のブラウザに/登録しました。私はフォームや何かを見ることを期待していた。正常に動作していて、私は間違った方法でアクセスしましたか?
は、ここに私のmodels.pyだ
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.create(user=instance)
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField('email address', unique=True, db_index=True)
password1 = models.CharField(max_length=50)
username = models.CharField('username', max_length=50, unique=True, db_index=True)
image = models.FileField(upload_to='photos', null=True, blank=True)
joined = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
friends = []
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = []
objects = CustomUserManager()
def __unicode__(self):
return self.username
class Meta:
unique_together = (('username', 'password1'),)
私のviews.py
@api_view(['POST'])
def create_auth(request):
serialized = CustomUserSerializer(data=request.DATA)
if serialized.is_valid():
CustomUser.objects.create_user(
serialized.init_data['email'],
serialized.init_data['username'],
serialized.init_data['password1']
)
return Response(serialized.data, status=HTTP_201_CREATED)
else:
return Response(serialized._errors, status=HTTP_400_BAD_REQUEST)
urls.py
router = DefaultRouter()
router.register(r'friends', FriendViewSet)
router.register(r'posts', PostViewSet, 'Post')
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include(router.urls)),
url(r'^users/$', UserView.as_view()),
url(r'^add_friend/$', add_friend),
url(r'^register', create_auth), # This is the url I'm trying to access.
url(r'^api-token-auth/$', ObtainAuthToken.as_view()),
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^logout/$', Logout.as_view()),
]
EDIT 1 settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
は、あなたの設定ファイルから、あなたの 'REST_FRAMEWORK'を貼り付けます。 – itzMEonTV
@itzmeontv私はそれを追加しました。 – ngx311