我在做jwt认证。我正在使用django rest auth包中的一些代码进行注册,注册端点和管理区域都有这个问题。我知道很多人在我面前问过这个问题,但我不知道为什么这个解决方案在我的情况下不起作用。你知道吗
我在贝壳里试过这个:
>>> from django.contrib.sites.models import Site
>>> site = Site()
>>> site.domain = 'answerly.com'
>>> site.name = 'answerly.com'
>>> site.save()
我的设置:
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# local apps
'pages',
'accounts',
# third party packages
'rest_framework',
'rest_framework.authtoken',
'rest_auth',
'django.contrib.sites',
'allauth',
'allauth.account',
'rest_auth.registration',
]
...
REST_USE_JWT = True
...
网址:
from django.contrib import admin
from django.urls import path, include
from rest_auth.registration.views import RegisterView
# from rest_auth.views import LoginView, LogoutView
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.api.urls')),
path('accounts/registration/', RegisterView.as_view(), name='register'),
# path('rest-auth/registration/', include('rest_auth.registration.urls'))
]
我有一个共同的解决方案:
Traceback (most recent call last):
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django
/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 383, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.IntegrityError: UNIQUE constraint failed: django_site.domain
上述异常是以下异常的直接原因:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/base.py", line 741, in save
force_update=force_update, update_fields=update_fields)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/base.py", line 779, in save_base
force_update, using, update_fields,
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/base.py", line 870, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/base.py", line 908, in _do_insert
using=using, raw=raw)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1335, in execute_sql
cursor.execute(sql, params)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/utils.py", line 99, in execute
return super().execute(sql, params)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/home/valentyn/Dev/Answerly/venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 383, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: UNIQUE constraint failed: django_site.domain
我正试图更好地理解正在发生的事情,所以请容忍我,因为我有几个问题:
你移植了“python”吗管理.py迁移“添加后”rest_框架.authtoken“,”到您安装的应用程序?参考:https://django-rest-auth.readthedocs.io/en/latest/installation.html#
你是否在你的网站中添加了“SITE\u ID=1”设置.py?请参阅:https://django-rest-auth.readthedocs.io/en/latest/installation.html#registration-optional
相关问题 更多 >
编程相关推荐