1

我开始在我的管理员中放置 prepopulated_fields 选项,有趣的事情开始发生我有这个模型

class Pelicula(models.Model):
    nombre = models.CharField(max_length=50)
    slug = models.SlugField(max_length= 15, unique= True, help_text = "Nombre corto para la URL", primary_key= True)

这在 admin.py

class PeliculaAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug' : ['nombre']}

没什么花哨的,到处都有它的描述但是一旦我在 object_detail 通用视图中使用这个 slug,这个 slug 只有在它只有一个单词开头时才有效。所以如果我有这个观点

def detalle_pelicula(request, pelicula):
    return list_detail.object_detail(
        request,
        queryset = Pelicula.objects.all(),
        slug = pelicula,
        template_name='sections/detalle_pelicula.html',
        template_object_name = 'pelicula',
        extra_context = extra_context,
        )

如果原始名称中有任何空格,我会得到“没有页面与给定查询匹配”。错误。所以细节/测试会起作用,但细节/测试页面不会我有点难过

4

1 回答 1

3

我猜你的 urlconf 设置使用 \w+ 解析你的 slug 尝试使用 [-A-Za-z0-9_]+

# e.g. in urls.py

url(r'del/(?P<slug>[-A-Za-z0-9_]+)/$',   'person_delete',  name='person_delete'),
于 2011-03-08T13:18:12.580 回答