我有我的小博客應用程序,我希望能夠從管理頁面更改樣式(不一定全部)。在django項目中實現動態樣式加載的「正確」方式是什麼? 我自己的想法:通過Python的文件I/O從數據庫Django動態css實現
雖然這兩種方案有嚴重的缺點
編輯:我寧願不思路Django的應用程序:)
我有我的小博客應用程序,我希望能夠從管理頁面更改樣式(不一定全部)。在django項目中實現動態樣式加載的「正確」方式是什麼? 我自己的想法:通過Python的文件I/O從數據庫Django動態css實現
雖然這兩種方案有嚴重的缺點
編輯:我寧願不思路Django的應用程序:)
「正確」的方式做,這將是在頂層div來定義一個類(甚至身體),這就決定了主該頁面的風格。該頁面中的所有樣式化元素都通過級聯的神奇繼承了這種風格:
.master-default {
color: black;
}
.master-default .bordered {
border: green;
}
.master-blue {
color: blue;
}
.master-blue .bordered
border: yellow;
}
等等。現在,你的管理界面只允許用戶確定頂級高手風範,你那麼您的基本模板中使用:
<div id="master" class="{{ userprofile.master_style }}">
<div class="bordered">Border colour will vary according to master style</a>
</div>
等
可能重複:http://stackoverflow.com/questions/3589661/generated-dynamic-css – DrTyrsa 2011-05-16 10:22:53
就像渲染模板一樣,渲染CSS也不是不可能的。你可以設置一個url,它將在參數中接收你想要的配置,併爲那種情況生成css。你將擁有css模板,只需要補充它們即可。 less.js庫也可能有用,請務必檢查一下! – tiagoboldt 2011-05-16 10:26:13