[英]Slug field error in django
我正在嘗試將以下博客應用程序集成到我的網站,我在 slug 字段中收到以下錯誤,如何解決此問題
TypeError at /login/
__init__() got an unexpected keyword argument 'prepopulate_from'
Request Method: GET
Request URL: http://192.168.254.35/accounts/login/new_wind/
Django Version: 1.2.1 SVN-1957
Exception Type: TypeError
Exception Value:
__init__() got an unexpected keyword argument 'prepopulate_from'
這是我的models.py
from django.db import models
from datetime import datetime
class BlogPost(models.Model):
title = models.CharField(max_length=128)
slug = models.SlugField(prepopulate_from=('title',))
body = models.TextField()
published = models.BooleanField(default=True)
date_posted = models.DateTimeField(default=datetime.now)
def __unicode__(self):
return self.title
class Admin:
pass
錯誤說明了一切: SlugField
不采用關鍵字參數prepopulate_from
。 文檔對此進行了支持-除了標准參數之外,它僅使用參數max_length
。 這應該在管理員 class中完成。
編輯:所以你的 model 文件將是:
from django.db import models
from datetime import datetime
class BlogPost(models.Model):
title = models.CharField(max_length=128)
slug = models.SlugField()
body = models.TextField()
published = models.BooleanField(default=True)
date_posted = models.DateTimeField(default=datetime.now)
def __unicode__(self):
return self.title
並且同一應用程序的 admin.py 文件將是:
from django.contrib import admin
from myapp.models import BlogPost
class BlogPostAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("title",)}
admin.site.register(BlogPost, BlogPostAdmin)
如果您不了解管理站點的工作原理,請參閱官方 Django 教程的第 2 部分。
django 中似乎已經更新了預填充的方式,請參閱這個問題: Is there an easy way to populate SlugField from CharField?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.