lỗi của tôi tương tự như django error: __init__() takes exactly 1 argument (2 given), nhưng vì không có câu trả lời đúng và tôi không thể tìm cách giải quyết nó ngay bây giờ. Vì vậy, tôi hỏi lại.django-rest-framework: __init __() lấy chính xác 1 đối số (2 đã cho)
Trong views.py tôi viết:
class JSONResponse(HttpResponse):
"""
An HttpResponse that renders its content into JSON.
"""
def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
kwargs['content_type'] = 'application/json'
super(JSONResponse, self).__init__(content, **kwargs)
class SnippetListView(APIView):
queryset = Snippet.objects.all()
def get(self, request, format=None):
users = self.queryset
serializer = SnippetSerializer(users, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = SnippetSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Trong urls.py tôi viết:
from django.conf.urls import patterns, url
from rest_framework.urlpatterns import format_suffix_patterns
from snippets.views import *
urlpatterns = patterns('snippets.views',
url(r'^snippets/$', SnippetListView.as_view()),
url(r'^snippets/(?P<pk>[0-9]+)/$', 'snippets.views.SnippetDetailView'),
)
Và sau đó tôi chạy python manage.py runserver, và nó cho thấy tôi một thông báo lỗi: ImportError tại/đoạn/
No module named snippets
nhưng tôi nhập đoạn trong setting.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'snippets',
)
theo dõi lỗi là:
Lỗi trong mẫu render
Trong mẫu E: \ Python27 \ lib \ site-packages \ rest_framework \ templates \ rest_framework \ base.html, lỗi tại dòng 51
No module named snippets
41 <li class="dropdown">
42 <a href="#" class="dropdown-toggle" data-toggle="dropdown">
43 {{ user }}
44 <b class="caret"></b>
45 </a>
46 <ul class="dropdown-menu">
47 <li>{% optional_logout request %}</li>
48 </ul>
49 </li>
50 {% else %}
51 <li>{% optional_login request %}</li> <----the error is here
52 {% endif %}
53 {% endblock %}
54 </ul>
55 </div>
56 </div>
57 </div>
58 {% endblock %}
59
60 {% block breadcrumbs %}
61 <ul class="breadcrumb">
thì lỗi đó không thể nhập đoạn mã.views.SnippetListView.as_view(). Parent module snippets.views.SnippetListView không tồn tại. – user504909
nhưng acctually các SnippetListView là một lớp được định nghĩa trong snipets.views nộp – user504909
@ user504909 Sau đó import nó xin vui lòng – ledzep2