【发布时间】:2017-09-18 02:30:53
【问题描述】:
我最近将 Django 从 1.3 升级到 1.8.18,并且在 Django 管理中为预填写表单而定制的链接存在问题。例如,我有以下链接:
/admin/miscellaneous/whatsnew/add/?title=...%20competition%20results%20uploaded&pub_date=21-04-2017&body=&link=
它应该是这样的:
在 Safari 中直接从 URL 栏测试时,按 Enter 后会更改为:
https://flyball.org.au/admin/miscellaneous/whatsnew/add/?title=...%2520competition%2520results%2520uploaded&pub_date=21-04-2017&body=&link=
models.py
class WhatsNew(models.Model):
title = models.CharField(max_length=100,help_text='Title, MAX 100 characters.')
body = models.TextField()
pub_date = models.DateField()
message_expiry = models.DateField(default=datetime.date.today() + relativedelta(years=1))
link = models.URLField(blank=True, null=True)
class Meta:
ordering = ['-pub_date']
verbose_name_plural = "Whats New?"
def __unicode__(self):
return self.title
admin.py
import models
from django.contrib import admin
class WhatsNewAdmin(admin.ModelAdmin):
list_display = ('title','pub_date','message_expiry','link','body')
admin.site.register(models.WhatsNew, WhatsNewAdmin)
我能做些什么来解决这个问题?
【问题讨论】:
-
您能否显示负责填写此表单的代码,即从查询参数中读取
title并将其提供给表单? -
@AKS 我在这里没有做任何特殊代码,它是 Django 的一部分,不知道在哪里可以找到它
-
它确实对我有用。我尝试使用
%20,结果在管理表单中出现空格。 -
@AKS 在升级到 Django 1.8 之前它也曾为我工作
-
这在 Django 1.10 中为我工作。只是为了好玩,尝试使用
+而不是%20,因为这是管理员默认的操作。
标签: django python-2.7 django-admin