gpt4 book ai didi

python - cats() 收到意外的关键字参数 'pk'

转载 作者:太空宇宙 更新时间:2023-11-03 18:16:02 24 4
gpt4 key购买 nike

我是一名成熟的 Django Web 开发人员。我的 Django 有问题。这个错误是“cats() 得到了意外的关键字参数‘pk’”。请查看我的代码并帮助我。

Request Method: GET
Request URL: http://127.0.0.1:8000/1
Django Version: 1.6.5
Exception Type: TypeError
Exception Value:
cats() got an unexpected keyword argument 'pk'
Exception Location: /usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response, line 112
Python Executable: /usr/bin/python
Python Version: 2.7.6

models.py

from django.db import models
from taggit.managers import TaggableManager

class Category(models.Model):
title = models.CharField(max_length=40)
def __unicode__(self):
return self.title

class Post (models.Model):
title = models.CharField(max_length=150)
body = models.TextField()
date = models.DateTimeField()
tags = TaggableManager ()
cats = models.ManyToManyField(Category)
def __unicode__ (self):
return self.title

urls.py

from django.conf.urls import include, url, patterns
from django.views.generic import ListView, DetailView
from blog.models import Post, Category

urlpatterns = patterns('blog.views',
url(r'^$',ListView.as_view(
queryset = Post.objects.all().order_by("-date")[:2],
template_name="index.html")),
url(r'^(?P<pk>\d+)$', 'cats', name='cats'),

)

views.py

from blog.models import Post,Category
from django.shortcuts import render_to_response
from django.template import RequestContext

def cats(request):
queryset = Post.objects.all().order_by("-date")
navitem = Category.objects.all().order_by("title")
return render_to_response('post.html',{'queryset':queryset,'navitem':navitem},context_instance=RequestContext(request))

最佳答案

问题出在 urls.py 中的这一行:

url(r'^(?P<pk>\d+)$', 'cats', name='cats')

您正在向 View 发送一个它不需要的参数。

您可以在 View 参数中包含 pk 参数,如下所示:

def cats(request, pk):

或者这个:

def cats(request, pk=None):

或者,更好的是,您可以在 URL 中使用不同的模式,而不使用 capturing它(因为您在 View 中根本没有使用该 pk 值,所以不需要为其创建变量),如下所示:

url(r'^(\d+)$', 'cats', name='cats')

关于python - cats() 收到意外的关键字参数 'pk',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24993110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com