{"version":"1.0","provider_name":"Tutorial","provider_url":"https:\/\/www.vskills.in\/certification\/tutorial","author_name":"Team Vskills","author_url":"https:\/\/www.vskills.in\/certification\/tutorial\/author\/vskills_admin\/","title":"Extending Django\u2019s Admin Interface - Tutorial","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"kyFyaN22G4\"><a href=\"https:\/\/www.vskills.in\/certification\/tutorial\/extending-djangos-admin-interface-2\/\">Extending Django\u2019s Admin Interface<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.vskills.in\/certification\/tutorial\/extending-djangos-admin-interface-2\/embed\/#?secret=kyFyaN22G4\" width=\"600\" height=\"338\" title=\"&#8220;Extending Django\u2019s Admin Interface&#8221; &#8212; Tutorial\" data-secret=\"kyFyaN22G4\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.vskills.in\/certification\/tutorial\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"As we\u2019ve said a few times before, Django\u2019s admin interface is one of the framework\u2019s \u201ckiller features,\u201d and most Django developers find it time-saving and useful. Because the admin interface is so popular, it\u2019s common for Django developers to want to customize or extend it. Before proceeding with this chapter, consider reviewing that material; it..."}