मैं RequestFactory उपयोग करने के लिए निम्न परीक्षण का मामला साथ एक DetailView परीक्षण करने के लिए कोशिश कर रहा हूँ:मैं Django में RequestFactory का उपयोग करके एक पीके पास या एक विवरण दृश्य में कैसे स्लग कर सकता हूं?
def test_device_homepage(self):
request = self.factory.get('/devices/1/', {'pk': 1})
response = DeviceView.as_view()(request)
self.assertEqual(response.status_code, 404)
जब मैं ऊपर परीक्षण चलाने, फिर भी, मैं निम्न त्रुटि संदेश मिलता है:
AttributeError: Generic detail view DeviceView must be called with either an object pk or a slug.
हैं मैं निर्माण के बाद अनुरोध प्रिंट, मैं निम्नलिखित देख सकते हैं:
<WSGIRequest
path:/devices/1/,
GET:<QueryDict: {u'pk': [u'1']}>,
जहां तक मेरा बता सकते हैं, बस इतना ही है कि DetailView अनुरोध किया जाना चाहिए उपरोक्त त्रुटि संदेश उत्पन्न करने वाले कोड में बिंदु के पीछे प्रगति करने में सक्षम होना चाहिए।
पूर्णता के लिए पूर्ण ट्रैस बैक नीचे है:
Traceback (most recent call last):
File "/vagrant/devices/tests/test_views.py", line 17, in test_device_homepage
response = DeviceView.as_view()(request)
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 86, in dispatch
return handler(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/detail.py", line 108, in get
self.object = self.get_object()
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/detail.py", line 48, in get_object
% self.__class__.__name__)
इस के लिए धन्यवाद परीक्षण करने के लिए प्रयास कर रहा है उम्मीद है, अच्छी तरह से काम करता है! – Matt
धन्यवाद .. यह आकर्षण की तरह काम करता है! – user01