以下のテストでは、404 という応答が返されます。「party:detail」を「/party/party/1」に置き換えると、合格になります。ドキュメントによると、パラメーターを正しく渡していますが、問題の原因は何ですか?
class UrlTests(TestCase):
def test_login_client(self):
User.objects.create_user('buddy', 'me@me.com', 'password')
self.client.login(username='buddy', password='password')
response = self.client.get(reverse('party:detail', kwargs={'pk': '1'}))
self.assertEqual(301, response.status_code)
デモ\URL
urlpatterns = [
url(r'^party/', include('party.urls', namespace='party')), ]
パーティ\URL
urlpatterns = [
url(r'^party/(?P<pk>[0-9]+)/$', login_required(PartyView.as_view()), name='detail'), ]
パーティー\ビュー
class PartyView(generic.DetailView):
model = Party
template_name = 'party/party.html'
def get_queryset(self):
return Party.objects.filter(pk=self.kwargs['pk'])