2016-09-13 4 views
0

デフォルトグループ管理ページの水平フィルタのサイズを小さくしようとしています。ここ は、私が試したものです: admin.py:django - グループ管理ページの水平フィルタのサイズを変更する

class GroupAdmin(admin.ModelAdmin): 
    filter_horizontal = ('permissions',) 
    class Media: 
     js = ('js/group_admin.js',) 

admin.site.unregister(Group) 
admin.site.register(Group, GroupAdmin) 

group_admin.js:

$(function() { 
    $("#id_permissions_from").css("height", 600); 
    $("#id_permissions_from").css("overflow", "scroll"); 
    $("#id_permissions_to").css("height", 600); 
    $("#id_permissions_to").css("overflow", "scroll"); 
}) 

それはリサイズいないと任意のJavaScriptのエラーが表示されていません。 上記のjavascriptをコンソールで実行すると問題なく動作します。そのため、javascriptがロードされる順序に問題があるはずです。 私はdjango 1.8を使用しています。 アイデア

答えて

0

タイミング問題の適切な解決策を見つけることができなかったので、回避策を以下に示します。

function resize(){ 
    $("#id_permissions_from").css("height", 600); 
    $("#id_permissions_from").css("overflow", "scroll"); 
    $("#id_permissions_to").css("height", 600); 
    $("#id_permissions_to").css("overflow", "scroll"); 
} 

$(function() { 
    setTimeout(function() { 
    resize() 
    }, 1000); 
    //resize(); 
}) 
0

.jsまたは.cssでも実行できます。

jsのためにこれを試してみてください。

$(document).ready(function(){ 
     $("#id_permissions_from").css("height", 600); 
     $("#id_permissions_from").css("overflow", "scroll"); 
     $("#id_permissions_to").css("height", 600); 
     $("#id_permissions_to").css("overflow", "scroll"); 
}) 

や.cssのではなく、あなたはまた、クラスメディアに管理者で

#id_permissions_from{ 
    "height": 600; 
    "overflow": "scroll"; 
} 
#id_permissions_to{ 
    "height": 600; 
    "overflow": "scroll" 
} 

とあなたのクラスをあなたのCSSを追加しているが、この

のようになります。
class Media: 
     js = ('js/admin/my_own_admin.js',)  
     css = { 
      'all': ('css/admin/my_own_admin.css',) 
     } 
+0

私はCSSのアプローチも試してみましたが、うまくいきません。問題は、djangoが別のコードを実行していることです。これは、JavaScriptをオーバーライドするCSSです。私も追加しようとしました!スタイルを強制するのに重要ですが、それは動作していません。 – max

+0

私は自分の答えを編集しました。あなたはそうしましたか? – sebb

+0

はい。これは私がそれをした方法で、うまくいきません。 – max

関連する問題