python-category()获得了意外的关键字参数’category_name_slug’
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-category()获得了意外的关键字参数’category_name_slug’,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3076字,纯文字阅读大概需要5分钟。
内容图文
![python-category()获得了意外的关键字参数’category_name_slug’](/upload/InfoBanner/zyjiaocheng/680/447cdafee8db49129bcc858ee10cda40.jpg)
我是django的初学者,正在尝试使用Django教程进行探戈.但是我遇到了一个无法纠正的错误.我收到以下错误:
TypeError at /rango/category/python/
category() got an unexpected keyword argument 'category_name_slug'
调试错误显示为不是包含在应用程序文件中,而是包含在核心django处理程序文件中,如下所示:
Exception Type: TypeError
Exception Value:
category() got an unexpected keyword argument 'category_name_slug'
Exception Location: c:\virtualenv\rango\lib\site-packages\django\core\handlers\base.py in get_response, line 111
views.py
from django.shortcuts import render
from django.http import HttpResponse
from rango.models import Category
from rango.models import Page
def index(request):
category_list_likes = Category.objects.order_by('-likes')[:5]
category_list_views = Category.objects.order_by('-views')[:5]
context_dict = {
'categories_likes': category_list_likes,
'categories_views': category_list_views,
}
return render(request, 'rango/index.html', context_dict)
def about(request):
return render(request, 'rango/about.html')
def category(request, category_name_url):
context_dict = {}
try:
category = Category.objects.get(slug=category_name_slug)
context_dict['category_name'] = category.name
pages = Page.objects.filter(category=category)
context_dict['pages'] = pages
context_dict['category'] = category
except Category.DoesNotExist:
pass
return render(request, 'rango/category.html', context_dict)
models.py
from django.db import models
from django.template.defaultfilters import slugify
class Category(models.Model):
name = models.CharField(max_length=128, unique=True)
views = models.IntegerField(default=0, unique=False)
likes = models.IntegerField(default=0, unique=False)
slug = models.SlugField(unique=True)
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
super(Category, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
class Page(models.Model):
category = models.ForeignKey(Category)
title = models.CharField(max_length=128)
url = models.URLField()
views = models.IntegerField(default=0, unique=False)
def __unicode__(self):
return self.title
urls.py
from django.conf.urls import patterns, url
from rango import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'about/', views.about, name = 'About'),
url(r'category/(?P<category_name_slug>[\w\-]+)/$', views.category, name='category'),)
管理员
from django.contrib import admin
from rango.models import Category, Page
class PageAdmin(admin.ModelAdmin):
list_display = ('title', 'category', 'url')
class CategoryAdmin(admin.ModelAdmin):
list_display = ('name', 'views', 'likes')
prepopulated_fields = {'slug':('name',)}
admin.site.register(Category, CategoryAdmin)
admin.site.register(Page, PageAdmin)
解决方法:
您的category()视图需要category_name_url参数:
def category(request, category_name_url):
...
但是,在urls.py中,您可以定义category_name_slug参数:
url(r'category/(?P<category_name_slug>[\w\-]+)/$', views.category,
name='category'),
使两个地方的参数相等.例如:
def category(request, slug):
...
但是,在urls.py中,您可以定义category_name_slug参数:
url(r'category/(?P<slug>[\w\-]+)/$', views.category, name='category'),
内容总结
以上是互联网集市为您收集整理的python-category()获得了意外的关键字参数’category_name_slug’全部内容,希望文章能够帮你解决python-category()获得了意外的关键字参数’category_name_slug’所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。