大佬教程收集整理的这篇文章主要介绍了如何将自定义视图页面添加到 django 管理员?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个亲子模型。
这有点像鸡尾酒配方,但它是关于鱼食的。
我想为每个食谱提供一个食谱计算器。
我目前的方法只是在列表视图中添加一个链接列
class BahanCampuranadmin(admin.Modeladmin): List_display = ('name','_isfood','_vubuy','_pbuy','userv','uconv','_bikin') fIElds = ('isfood','name','ubuy','vbuy','uconv') Readonly_fIElds = ['pbuy'] inlines = [ KomponenCampuranadmin,] def get_queryset(self,request): qs = super().get_queryset(request) return qs.filter(user=request.user) def _bikin(self,obj): if obj.ingrIDIEnt.exists() : link="<a href='/catatkolam/recipecalc/{0}'>bikin</a>" return format_HTML(link,obj.ID) return '-' _bikin.allow_Tags=True _bikin.short_description='Bkin' ...
@H_489_18@这是我点击最右边一列的链接时得到的。
看它把用户从“管理站点”中抛出
这是我当前的模板。
{% extends "admin/base.HTML" %} {% block content %} <style> .Recipe-IngredIEntList { wIDth: 250px; border: 1px solID #777; border-radius: 3px; padding: 5px; margin-top: 5px; } .Recipe-IngredIEnt { border-bottom: 1px solID black; padding: 5px 0; } .Recipe-IngredIEnt:last-child { border-bottom: none; } .Recipe-IngredIEnt span { Font-weight: 600; } </style> <script> window.console = window.console || function(t) {}; </script> <script> if (document.LOCATIOn.search.match(/type=embed/gi)) { window.parent.postmessage("resize","*"); } </script> <div> <label for="serving"> <h3>{{name}}</h3> <input type="number" ID="servinginput" value={{vbuy}}> <span STYLE="Font-weight:bold">{{ubuy}}</span> </label> <div class="Recipe-IngredIEntList"> {%for k in komponen%} <div class="Recipe-IngredIEnt Js-recipeIngredIEnt" data-baseValue={{k.qty}}>{{k.namE}} : <span></span> {{k.userv}}</div> {% endfor %} </div> </div> <script src='https://cdnjs.cloudFlare.com/AJAX/libs/jquery/3.3.1/jquery.min.Js'></script> <script ID="rendered-Js" > // Recipe calculator with jquery var computeserving = function (serving) { $('.Js-recipeIngredIEnt').each(function (index,item) { $(item).children('span').HTML(($(item)[0].dataset.basevalue * serving).toFixed(2)); }); }; $('#servinginput').on('change',function () { computeserving($(this).val()); }); computeserving(1); </script> {% endblock %}
@H_489_18@这是我的应用程序的 urls.py
from django.urls import path from . import vIEws app_name = 'catatkolam' urlpatterns = [path('',vIEws.index,name='index'),path('/recipecalc/<int:ID>',vIEws.recipecalc,name='recipecalc')]
@H_489_18@我的问题是:如何在管理站点内显示食谱计算器?
喜欢:
解决方法
在 BahanCampuranAdmin 类的 get_urls 方法中定义该 URL,并将您的视图包装在
self.admin_site.admin_view
中。def get_urls(self): urls = super().get_urls() custom_urls = [ path('/recipecalc/<int:id>',self.admin_site.admin_view(views.recipecalC),name='recipecalc'),] return custom_urls + urls
@H_489_18@大佬总结
以上是大佬教程为你收集整理的如何将自定义视图页面添加到 django 管理员?全部内容,希望文章能够帮你解决如何将自定义视图页面添加到 django 管理员?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。