所以基本上我想要的是为我的一个模型提供自定义视图(打印视图)。 我添加了一个自定义按钮,我更改了我的模型的get_url():
def get_urls(self):
urls = super(MyModelAdmin, self).get_urls()
my_urls = patterns('',
url(r'^/print/schedule$',
self.admin_site.admin_view(views.PrintScheduleDetailView.as_view()), name='print_schedule'),
)
return my_urls + urls
当我尝试查看它时: my_app应用/ my_model / primary_key /打印/日程表/ 它告诉我pk 1 / print / schedule的对象不存在....
我该怎么办?
谢谢, ARA
编辑:这是我的观点类:
class PrintScheduleDetailView(generic.DetailView):
model = Tournament
template_name = 'print/schedule.html'
我得到了有点工作的链接......
本地主机/赛/打印/时间表/
工作,但它告诉Generic详细信息视图PrintScheduleDetailView必须使用对象pk或slug调用....我尝试添加主键localhost / tournament / print / schedule / pk但没有工作... 谢谢, ARA
答案 0 :(得分:0)
也许应该更改正则表达式以删除'^'符号,如:
url(r'/print/schedule$'
答案 1 :(得分:0)
根据类视图的Detailview:
默认情况下,这需要
self.queryset
和pk
或slug
参数 在URLconf中,但子类可以覆盖它以返回任何对象。
url(r'^/(?P<pk>[\d]+)/print/schedule/$', self.admin_site.admin_view(views.PrintScheduleDetailView.as_view()), name='print_schedule'),)
我相信你需要传递pk,除非你是通过另一种方式获取它(你还没有粘贴你的类视图)。