首页 > 解决方案 > django 配置不当。包含的 urlsconf 中似乎没有任何模式

问题描述

我正在使用 django 2.2.2 。我正在尝试将其包含path('api/', include('music.urls')),到我的根 url 中,但我从 resolvers.py 文件中得到一个异常。

这是我的音乐/urls.py

网址.py

from django.urls import path
from . import views
app_name = 'music'


urlpatterns = [
path('songs/', ListSongsView.as_view(), name = 'songs-all'),

]

这是我的根 url 文件 urls.py

from django.contrib import admin
from django.urls import path,include


urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('music.urls')),

]

视图.py

from django.shortcuts import render
from rest_framework import generics
from .models import Songs
from serializers import SongSerializer

# Create your views here.


class ListSongsView(generics.ListApiView):
    queryset            = Songs.objects.all()
    serializer_class    = SongsSerializer

模型.py

from django.db import models

# Create your models here.


class Songs(models.Model):
    title       = models.CharField(max_length=255, null = False)
    artist      = models.CharField(max_length=50, null= False)

    def __str__(self):
        return "{} - {}".format(self.title, self.artist)

和我的堆栈跟踪

File "/home/brianonchari/Documents/django/drf/myapi/lib/python3.5/site- 
packages/django/urls/resolvers.py", line 588, in url_patterns
raise ImproperlyConfigured(msg.format(name=self.urlconf_name))
django.core.exceptions.ImproperlyConfigured: The included URLconf 'rest.urls' does not 
appear to have any patterns in it. If you see valid patterns in the file then the issue is 
probably caused by a circular import.

标签: pythondjango

解决方案


音乐/urls.py

from django.urls import path
from .views import ListSongsView
app_name = 'music'


urlpatterns = [
    path('songs/', ListSongsView.as_view(), name='songs-all'),

]

urls.py

from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('music.urls')),

]

音乐/views.py

from django.shortcuts import render
from rest_framework import generics
from .models import Songs
from .serializers import SongSerializer

# Create your views here.


class ListSongsView(generics.ListAPIView):
    queryset = Songs.objects.all()
    serializer_class = SongSerializer

音乐/models.py

from django.db import models

# Create your models here.
class Songs(models.Model):
    title = models.CharField(max_length=255, null=False)
    artist = models.CharField(max_length=50, null=False)

    def __str__(self):
        return "{} - {}".format(self.title, self.artist)

音乐/serializers.py:

    from rest_framework import serializers
    from .models import Songs


   class SongSerializer(serializers.ModelSerializer):

       class Meta:
           model = Songs
           fields = ('title', 'artist')

为Songs模型运行迁移:

python manage.py makemigrations
python manage.py migrate

推荐阅读