【发布时间】:2026-01-24 18:05:01
【问题描述】:
我的主要 urls.py 位于此处 ahlami -> ahlami -> urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('api/accounts/', include('accounts.api.urls')),
]
我的帐户应用程序 urls.py 位于此处 ahlami -> 帐户 -> api -> urls.py
urlpatterns = [
path('users/<int:pk>/', views.UserView.as_view(), name='user-detail')
]
我的一个帐户views.py 返回
token = Token.objects.create(......)
return Response(data=AnonymousUserTokenResponseSerializer(instance=token).data)
我的令牌模型只有三个字段。为简单起见,我在下面列出了一个字段
class Token(rest_framework.authtoken.models.Token):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE
AnonymousUserTokenResponseSerializer 链接到 Token 模型,返回三个 json 属性
class AnonymousUserTokenResponseSerializer(serializers.ModelSerializer):
user_id = serializers.ReadOnlyField(source='user.id')
user_url = reverse(viewname='user-detail')
class Meta:
model = Token
fields = ('key',
'user_id',
'user_url')
AnonymousUserTokenResponseSerializer 失败,因为它无法识别 reverse()
user_url = reverse(viewname='user-detail')
python manage.py runserver 因为上面的那行而抛出下面的错误
django.core.exceptions.ImproperlyConfigured:包含的 URLconf 'ahlami.urls' 中似乎没有任何模式。如果你看到 文件中的有效模式,那么问题可能是由 循环导入。
我的设置位于 ahlami -> ahlami -> settings -> base.py 和 base.py 有这个
ROOT_URLCONF = 'ahlami.urls'
我希望得到一个看起来像但由于上述错误而无法得到的输出。
{
"key": "891e388399f2fcae016fe6887107034239041478",
"user_id": 29,
"user_url": http://localhost/api/accounts/users/29
}
我怎样才能解决这个错误并使 reverse() 工作?
django.core.exceptions.ImproperlyConfigured:包含的 URLconf 'ahlami.urls' 中似乎没有任何模式。如果你看到 文件中的有效模式,那么问题可能是由 循环导入。
【问题讨论】:
-
将
user_url放入序列化程序没有任何意义,因为它不是序列化程序字段 -
什么意思?你的意思是 user_url 不是 Token 的一部分吗? user_id 也不是序列化程序的一部分。我声明了 user_id 并且它起作用了。
-
user_id是 DRF 序列化器字段,但user_url不是
标签: django django-models django-rest-framework django-forms django-views