Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django ModuleNotFoundError:没有名为';路由器&x27;_Django_Django Rest Framework_Django Urls - Fatal编程技术网

Django ModuleNotFoundError:没有名为';路由器&x27;

Django ModuleNotFoundError:没有名为';路由器&x27;,django,django-rest-framework,django-urls,Django,Django Rest Framework,Django Urls,嗨,我得到这个错误,请帮助我。 我是这个领域的新手,我犯了这个错误 设置.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '

嗨,我得到这个错误,请帮助我。 我是这个领域的新手,我犯了这个错误

设置.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',

    'first',
]
我的观点

from django.shortcuts import render
from rest_framework.viewsets import ModelViewSet
from .serializers import MovieSerializer,RatingSerializers
from .models import Movie,Rating
# Create your views here.
class MovieViewSet(ModelViewSet):
    queryset=Movie.objects.all()
    serializer_class=(MovieSerializer,)
class RatingViewSet(ModelViewSet):
    queryset=Rating.objects.all()
    serializer_class=(RatingSerializers,)

我的主要URL.py是

"""rest_project URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('my_apis',include('first.urls')),
]

和serializers.py

from rest_framework import serializers
from .models import Movie,Rating
class MovieSerializer(serializers.ModelSerializer):
    class Meta:
        model= Movie
        fields=['title','description']

class RatingSerializers(serializers.ModelSerializer):
    class meta:
        model=Rating
        fields='__all__'
models.py是

from django.db import models
from django.contrib.auth.models import User
from django.core.validators import MinValueValidator,MaxValueValidator
# Create your models here.
class Movie(models.Model):
    title=models.CharField(max_length=20)
    description =models.TextField(max_length=500)

    def __str__(self):
        return self.title

class Rating(models.Model):
    movie=models.ForeignKey(Movie,on_delete=models.CASCADE)
    user=models.ForeignKey(User,on_delete=models.CASCADE)
    rating=models.PositiveIntegerField(validators=[MinValueValidator(1),MaxValueValidator(5)])
    class Meta:
        unique_together=(('user','movie'))
        index_together=(('user','movie'))

my URL.py(应用程序)

我在看视频教程

并且得到了那个错误

    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'router'

return\u bootstrap.\u gcd\u导入(名称[级别:],包,级别)
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第953行,在“查找”和“加载”中解锁
文件“”,第219行,在“调用”中,删除了“帧”
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第965行,在“查找”和“加载”中解锁
ModuleNotFoundError:没有名为“路由器”的模块
请帮帮我 忽略此文本是为了避免“这篇文章看起来主要是代码,请添加一些内容”

应该是:

urlpatterns = router.urls
include表达式用于查找路由器模块。

使用

path('', include(router.urls))

如果没有引号

谢谢,我怎么知道你能分享一个链接,因为在视频教程中,他使用了上述风格,但会出现错误。谢谢你的帮助。我没有话要说谢谢。现在它在/my_API/movies/'ModelViewSet'上给出断言错误应该包括
queryset
属性,或者覆盖
get\u queryset()
方法。这是另一个问题,也是另一个问题。关于教程,我不知道,所以不能说什么。欢迎来到so。下一次,请花一分钟来看看如何正确地格式化您的代码,因为粗体和斜体没有位置(在这里为您完成)。
urlpatterns = router.urls
path('', include(router.urls))