簡體   English   中英

django 中的 Slug 字段錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM