【问题标题】:django prepopulated fields break with hyphensdjango 预填充字段以连字符中断
【发布时间】:2011-07-11 00:52:12
【问题描述】:

我开始在我的管理员中添加 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,
        )

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

【问题讨论】:

标签: django admin slug


【解决方案1】:

我猜你的 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'),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2011-08-09
    • 2022-11-04
    • 2019-08-14
    相关资源
    最近更新 更多