程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将自定义视图页面添加到 django 管理员?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何将自定义视图页面添加到 django 管理员??

开发过程中遇到如何将自定义视图页面添加到 django 管理员?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何将自定义视图页面添加到 django 管理员?的解决方法建议,希望对你解决如何将自定义视图页面添加到 django 管理员?有所启发或帮助;

我有一个亲子模型。
这有点像鸡尾酒配方,但它是关于鱼食的。

我想为每个食谱提供一个食谱计算器。
我目前的方法只是在列表视图中添加一个链接列

如何将自定义视图页面添加到 django 管理员?

这是我的 admin.py 的片段

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@

这是我点击最右边一列的链接时得到的。

如何将自定义视图页面添加到 django 管理员?

看它把用户从“管理站点”中抛出

这是我当前的模板。

{% 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@

我的问题是:如何在管理站点内显示食谱计算器?
喜欢:

如何将自定义视图页面添加到 django 管理员?

解决方法

在 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,请注明来意。
标签:django