0

私は美しい Web ページをゼロから作成するのが得意ではありません。また、私が作成したフォームは醜いものです。そこには美しい CSS コード スニペット ソリューションがたくさんあり、それらは素晴らしいものです。私は現在python-djangoを学んでいて、たくさんのコードスニペットを使用しようとしていますが、これは初めてなので、それぞれのスニペットに付属する css/style.css シートを分離する方法がわかりません. 特定のスニペットのみに使用されるように各スタイル シートを分離する方法はありますか? これらのスタイル シートをすべてヘッダーにロードすると、段落や本文などのスタイルがすべて異なるため、一部のスタイル シートがオーバーライドされます。

これは私のファイル構造です:

src/
  djangoTest/
    djangoTest/
      __init__.py
      settings.py
      urls.py
      ...
    djangoTestApp/
      models/
        __init__.py
        modelsUser.py
        ...
      static/
        css/
        images/
        javascript/
      tests.py
      views.py
      __init__.py
    templates/
      index.html
  manage.py

私がやりたいことは、(コード スニペットからの) さまざまな css スタイル シートを別のフォルダーに配置し、それらのスニペットのみをそれぞれのスタイル シートにリンクすることです。現在、すべての css スタイル シートをリンクしているだけで、それらが重複しているため、コード スニペットを分離するのが難しくなっています。

ファイル構造の例:

static/
  css/snippet1_css/style.css
  css/snippet2_css/style.css
  ...

次に、各 html スニペットに対して、それぞれのスタイルシートの css のみを使用します。これはばかげた質問かもしれませんが、私はまだ答えを見つけていません。

これが私がやりたいことの例です。私はこのフォームがとても気に入っています: http://www.webdezign.co.uk/html5-examples/sexy-form/ で、ビューの 1 つに配置しました。この検索バーもとても気に入っています: http://www.cssflow.com/snippets/search-dropdown/demo

では、css/style.css をオーバーラップさせずに両方のコード スニペットを 1 つのビューに配置するにはどうすればよいでしょうか? これが分かればとてもいいです。ここで助けていただければ幸いです。ありがとう =)

4

1 に答える 1

0

OK、より良い解決策になるはずです:

views.py で

Class FirstView(TemplateView)
    template_name = "index.html"

    def get_context_data(self, **kwargs):
        context = super(FirstView, self).get_context_data(**kwargs)
        context['css_snipped_path'] = 'css/snippet1_css/style.css'
        return context

Class SecondView(TemplateView)
    template_name = "index.html"

    def get_context_data(self, **kwargs):
        context = super(SecondView, self).get_context_data(**kwargs)
        context['css_snipped_path'] = 'css/snippet2_css/style.css'
        return context

次に、テンプレート(index.htmlなど)で

<head>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}{{ css_snipped_path }}">
</head>
于 2013-06-29T20:56:26.807 に答える