私はdjangoを初めて使用する前に多くのpythonを書いていましたが、これまでのところ気に入っています。
私の以前の Web 経験は PHP でした。CSS を簡単に維持できるようにするために、CSS として php ファイルを使用し、それを CSS コンテンツ タイプとして提供します。したがって、サイト内のすべてを変更するために簡単に変更できる変数を作成できます。
例: styles.php:
<?php header('Content-type: text/css');
$pink = '#91305f';
$green = '#a4ce39';
$black = '#000000';
$white = '#ffffff';
$std_font = "'Ruda', sans-serif";
$std_shadow = "text-shadow: 1px 1px 1px #000;";
$big_shadow = "text-shadow: 2px 2px 2px #000;";
$h_space = '10px';
?>
と...
html {
background-color:<?= $pink ?>;
color: <?= $green ?>;
font-family: <?= $std_font ?>;
}
したがって、サイト全体で黒の意味を変更したい場合は、上部の $black = と、CSS で color: と言ったすべての場所を変更するだけです。続きます。
私はdjangoで同じタイプのことを達成したいのですが、それを行う方法がわかりません。ビューを使用してcssでテンプレートをレンダリングできると考えていますが、これについてどうすればよいかよくわかりません。私のビューでdictを作成し、それをrender_to_responseに渡してから、テンプレートファイルで参照するのと同じくらい簡単ですか?
例: views.py:
def style(request):
colours = {'pink' : '#91305f', 'green' : '#a4ce39'}
return render_to_response('styles.css', {'styles': colours},
context_instance=RequestContext(request))
次に、templates/styles.css で:
html {
background-color:{{ styles.pink }};
color: {{ styles.green }};
}
これは実行可能な解決策ですか?もしそうなら、ビューをテンプレートに結合しているように見えますが、これを達成するために必要なデータをどこに保存するかわかりません。
ありがとうアーロン