色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

django admin 添加自定義鏈接方式

瀏覽:37日期:2024-10-21 17:54:57

背景

最近做項目開發(fā)出現(xiàn)一個需求,就是前端會發(fā)來用戶對某一項內(nèi)容的報錯,報錯信息中包含出錯內(nèi)容的id,為了方便管理,需要實現(xiàn)點擊這個id直接轉(zhuǎn)達相應(yīng)內(nèi)容的詳情頁面。

效果展示

解決

首先在django admin的列表中查看數(shù)據(jù)id所代表的鏈接

django admin 添加自定義鏈接方式

使用瀏覽器的檢查元素功能查看點擊該id所跳轉(zhuǎn)的鏈接

django admin 添加自定義鏈接方式

現(xiàn)在我們知道點擊admin頁面跳轉(zhuǎn)鏈接的格式了。

自定義widget

假如我們的內(nèi)容id使用CharField字段存儲,那么可以這樣自定義一個widget

HTML

{% load myfileter %}<a href='http://m.lshqa.cn/bcjs/{{ widget.value|generate_link }}' rel='external nofollow' >{{ widget.value }}</a>

{%load myfilter%}是引入自定義模板標(biāo)簽的語句,該標(biāo)簽在下面定義。

python

class MyWidget(TextInput): template_name = 'myWidget.html' def render(self, name, value, attrs=None, renderer=None): context = self.get_context(name, value, attrs) template = loader.get_template(self.template_name).render(context) return mark_safe(template)

自定義模板過濾器

在views.py所在的目錄下新建一個文件夾templatetags,注意必須為這個名字。在文件夾中新建一個myfileter.py文件和_init_.py文件。

myfileter.py

# 生成自定義鏈接@register.filterdef generate_link(value): id = str(value) #就是將第二張圖片中的id替換為當(dāng)前的id就行 return '/admin/learningsource/learningsource/' + id + '/change/'

自定義模型表單

假如我們的模型定義如下

class FeedbackModel(models.Model): error_content_id=models.UUIDField('錯誤編號', primary_key=True, default=uuid.uuid4()) ........

在models.py中定義一個ModelForm

class FeedbackModelForm(ModelForm): error_content_id = forms.CharField(label='錯誤編號',widget=MyWidget) class Meta: model = SourceLinkErrorReport fields = [’error_content_id’,.....]

假如該模型在admin.py的模型管理器為

class FeedbackModelAdmin(admin.ModelAdmin):..........

將上述定義的模型表單添加到模型管理器中

class FeedbackModelAdmin(admin.ModelAdmin):form=FeedbackModelForm..........

總結(jié)

使用這種方法可以不用創(chuàng)建一個空的模型然后重寫它的changelist_view函數(shù)實現(xiàn)自定義鏈接,可以給admin界面的文字,圖片等添加鏈接(通過自定義widget就可實現(xiàn)),并且鏈接樣式可以自己定義,使用更方便。

在安全性上,本文的做法實際上相當(dāng)于自己手動給django admin內(nèi)置視圖函數(shù)發(fā)送請求,和原來django自己自動生成的頁面鏈接沒有任何區(qū)別,對自定義鏈接的響應(yīng)實際上也要經(jīng)過**django ** admin的認(rèn)證,安全性是沒問題的。

以上這篇django admin 添加自定義鏈接方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 国产高清免费观看 | 中文在线观看视频 | a级片一级片 | 一区二区三区影院 | 亚洲男人天堂 | 鲁丝一区二区三区不属 | 国产婷婷一区二区在线观看 | 国产亚洲精品成人一区看片 | 18年大片免费在线观看 | 香蕉久久一区二区不卡无毒影院 | 成人手机视频在线观看 | 精品欧美成人高清在线观看2021 | 亚洲影院在线 | chinese情侣真实自拍 | 在线成人a毛片免费播放 | 中文字幕一二区 | 国产乱淫视频 | 久久久免费视频观看 | 久久久精品久久视频只有精品 | 日韩中文字幕在线视频 | 日本尹人综合香蕉在线观看 | 黄色网址国产 | 韩国自拍偷自拍亚洲精品 | 在线免费黄色网址 | 国产成人a在一区线观看高清 | 一级做a爱过程免费视频时看 | 国产精品_国产精品_国产精品 | www成人国产在线观看网站 | 久草久草久草 | 亚洲网视频 | 日韩欧美在 | 日韩国产精品99久久久久久 | 亚洲一区日韩一区欧美一区a | 日本a级毛片免费视频播放 日本a级三级三级三级久久 | 国产一区二区三区国产精品 | 一区二区三区欧美 | 国产中文字幕免费观看 | 久草综合在线视频 | 成人毛片免费视频 | 欧美成人老熟妇暴潮毛片 | 欧美在线观看高清一二三区 |