Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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
Python ';str';对象在django中不可调用_Python_Django_Django Rest Framework_Django Urls - Fatal编程技术网

Python ';str';对象在django中不可调用

Python ';str';对象在django中不可调用,python,django,django-rest-framework,django-urls,Python,Django,Django Rest Framework,Django Urls,我是Django的新手。当我在url“localhost:8000/api/questions/”中浏览api时,我发现Django项目中不能调用TypeError“str”对象。我使用的是Django 3。我不知道如何调试这个错误,所以我在这里写下。我想我的URL有问题 main url.py 应用程序中的URL.py 应用程序中的views.py 应用程序中的serializers.py 我的项目结构 /project /questions /api

我是Django的新手。当我在url“localhost:8000/api/questions/”中浏览api时,我发现Django项目中不能调用TypeError“str”对象。我使用的是Django 3。我不知道如何调试这个错误,所以我在这里写下。我想我的URL有问题

main url.py

应用程序中的URL.py

应用程序中的views.py

应用程序中的serializers.py

我的项目结构

/project
    /questions
        /api   
            serializers.py
            views.py
            urls.py
错误回溯

TypeError at /api/questions/
'str' object is not callable
Request Method: GET
Request URL:    http://localhost:8000/api/questions/
Django Version: 3.0.8
Exception Type: TypeError
Exception Value:    
'str' object is not callable
Exception Location: /home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in <listcomp>, line 278
Python Executable:  /home/myrza/Desktop/ff/django/udemyfinpr/venv/bin/python
Python Version: 3.6.9
Python Path:    
['/home/myrza/Desktop/ff/django/udemyfinpr/QuestionTime',
 '/usr/lib/python36.zip',
 '/usr/lib/python3.6',
 '/usr/lib/python3.6/lib-dynload',
 '/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages']
Server time:    Tue, 21 Jul 2020 15:05:47 +0000
Traceback Switch to copy-and-paste view
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/exception.py in inner
            response = get_response(request) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response
                response = self.process_exception_by_middleware(e, request) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/views/decorators/csrf.py in wrapped_view
        return view_func(*args, **kwargs) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/viewsets.py in view
            return self.dispatch(request, *args, **kwargs) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in dispatch
            response = self.handle_exception(exc) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in handle_exception
            self.raise_uncaught_exception(exc) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in raise_uncaught_exception
        raise exc …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in dispatch
            self.initial(request, *args, **kwargs) 
TypeError at/api/questions/
“str”对象不可调用
请求方法:获取
请求URL:http://localhost:8000/api/questions/
Django版本:3.0.8
异常类型:TypeError
异常值:
“str”对象不可调用
异常位置:/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in,第278行
Python可执行文件:/home/myrza/Desktop/ff/django/udemyfinpr/venv/bin/Python
Python版本:3.6.9
Python路径:
['/home/myrza/Desktop/ff/django/udemyfinpr/QuestionTime',
“/usr/lib/python36.zip”,
“/usr/lib/python3.6”,
“/usr/lib/python3.6/lib dynload”,
“/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site packages”]
服务器时间:2020年7月21日星期二15:05:47+0000
回溯切换到复制和粘贴视图
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/exception.py位于内部
响应=获取响应(请求)…
▶ 局部变量
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/base.py in_get_response
响应=自身。通过中间件(e,请求)处理异常…
▶ 局部变量
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/base.py in_get_response
响应=包装的回调(请求,*回调参数,**回调参数)…
▶ 局部变量
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/views/decorators/csrf.py在包装视图中
返回视图函数(*args,**kwargs)…
▶ 局部变量
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/viewsets.py在视图中
返回self.dispatch(请求,*args,**kwargs)…
▶ 局部变量
/发送中的home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py
响应=自身。处理异常(exc)…
▶ 局部变量
/句柄异常中的home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest\u framework/views.py
自身引发未捕获异常(exc)…
▶ 局部变量
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest\u framework/views.py在raise\u uncaught\u异常中
提高汇率…
▶ 局部变量
/发送中的home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py
self.initial(请求,*args,**kwargs)

Urlpatterns在您的情况下必须等于router.urls:

urlpatterns = router.urls

添加完整的错误跟踪我在我的应用程序中已经有了“”。
urlpatterns=[path(“”,include(router.url))]
我的意思是include('router.url')新错误
modulenofounderror:没有名为“router”的模块。
from rest_framework import serializers
from questions.models import Answer, Question

class QuestionSerializer(serializers.ModelSerializer):
    author = serializers.StringRelatedField(read_only=True)
    created_at = serializers.SerializerMethodField()  
    slug = serializers.SlugField(read_only=True)    
    answer_count = serializers.SerializerMethodField()
    user_has_answered = serializers.SerializerMethodField()

    class Meta:
        model = Question
        exclude = ['updated_at']


    def get_created_at(self, instance):
        return instance.created_at.strftime('%B %d, %Y')

    def get_answer_count(self, instance):
        return instance.answers.count()  

    def get_user_has_answered(self, instance):
        request = self.context.get('request')
        return instance.answers.filter(author=request.user.pk).exists()    
/project
    /questions
        /api   
            serializers.py
            views.py
            urls.py
TypeError at /api/questions/
'str' object is not callable
Request Method: GET
Request URL:    http://localhost:8000/api/questions/
Django Version: 3.0.8
Exception Type: TypeError
Exception Value:    
'str' object is not callable
Exception Location: /home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in <listcomp>, line 278
Python Executable:  /home/myrza/Desktop/ff/django/udemyfinpr/venv/bin/python
Python Version: 3.6.9
Python Path:    
['/home/myrza/Desktop/ff/django/udemyfinpr/QuestionTime',
 '/usr/lib/python36.zip',
 '/usr/lib/python3.6',
 '/usr/lib/python3.6/lib-dynload',
 '/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages']
Server time:    Tue, 21 Jul 2020 15:05:47 +0000
Traceback Switch to copy-and-paste view
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/exception.py in inner
            response = get_response(request) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response
                response = self.process_exception_by_middleware(e, request) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/django/views/decorators/csrf.py in wrapped_view
        return view_func(*args, **kwargs) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/viewsets.py in view
            return self.dispatch(request, *args, **kwargs) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in dispatch
            response = self.handle_exception(exc) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in handle_exception
            self.raise_uncaught_exception(exc) …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in raise_uncaught_exception
        raise exc …
▶ Local vars
/home/myrza/Desktop/ff/django/udemyfinpr/venv/lib/python3.6/site-packages/rest_framework/views.py in dispatch
            self.initial(request, *args, **kwargs) 
urlpatterns = router.urls