とダイナミックstaticfilesパスハンドル私はほとんどDjango
と私のTheme Selector
を完了するために克服していますが、私は一点にブロックしています:ジャンゴ
==>私はに応じてダイナミックstaticfilesパスを取得するには届きませんユーザーが与えたフォーム結果。
私は、プロセスを説明します:
ユーザーはRadioSelectボックスをチェックして、Djangoのフォームを埋めます。
- データシステム
- カメルーン
両方のオプションが2貴様背景色を持っている2つのテーマに対応しています。彼は2つのオプションの選択肢を持っています。 データシステムは&白とカメルーンは緑&赤青です。
だから、私は静的なファイルに位置している両方のテーマの1つに対応するフォーム結果拾う:
:私のsettings.pyファイルで|--- app1
|--- app2
├── static
│ └── Theme
│ ├── Cameroun
│ │ ├── css
│ │ │ ├── Base.css
│ │ │ ├── Base_Accueil.css
│ │ │ ├── Base_Birthcertificate.css
│ │ │ ├── Base_Configurations.css
│ │ │ ├── Base_Identity.css
│ │ │ ├── Base_Mairie.css
│ │ │ ├── Base_Recensement.css
│ │ │ └── Base_Table.css
│ │ └── images
│ │ ├── admin.png
│ │ ├── chantier.jpeg
│ │ ├── chantier.png
│ │ ├── employe?\201.png
│ │ ├── logo.png
│ │ ├── maire.png
│ │ ├── officier.png
│ │ ├── stats.jpeg
│ │ └── visiteur.png
│ └── Datasystems
│ ├── css
│ │ ├── Base.css
│ │ ├── Base_Accueil.css
│ │ ├── Base_Birthcertificate.css
│ │ ├── Base_Configurations.css
│ │ ├── Base_Identity.css
│ │ ├── Base_Mairie.css
│ │ ├── Base_Recensement.css
│ │ └── Base_Table.css
│ └── images
│ ├── admin.png
│ ├── chantier.jpeg
│ ├── chantier.png
│ ├── employe?\201.png
│ ├── logo.png
│ ├── maire.png
│ ├── officier.png
│ ├── stats.jpeg
│ └── visiteur.png
を、私はこのような静的なパスを持っています
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "/Etat_civil/static/Theme/"),)
私はtemplates_tagを使用していますが、私は私の関数は次のように書くことができたのかはわからない:
from django import template
from Configurations.models import Theme
register = template.Library()
def GetTheme(Theme):
mytheme = Theme.objects.all().last()
return mytheme in Theme.objects.all()
私のテンプレートでは、静的パスを動的パスとして記述するには、ユーザーが選択した変数のテーマによって異なります。
私は少し失われています。私のプロセスはかなりうまくいくかもしれないと思うが、多分何かがpythonicなやり方で書かれていないかもしれない。
私は簡潔で具体的にしようとしました。
あなたはこの半手動で行うにはget_static_prefix
template tagを使用することができ、事前
非常に悪いCSSスタイルシートを取得しています。これは、template.htmlファイルに正しいstaticfilesパスが表示されないことを意味します。 template_tagsファイルの 'GetTheme'関数が間違っている可能性はありますか? – Deadpool
さて、そうです。そのコードはあまり意味を持ちませんし、ブール値を返します(あなたが今取り込んだテーマは常にTheme.objects.all()内にあるので、常に真です)。あなたは正確に何をしようとしていますか? –
私は 'id'、' favorite_theme'という2つの要素で 'Theme'という名前のテーブルを持っています。私がThemeフォームに記入するたびに、このテーブルに行を追加します(現在まで)。したがって、選択されたテーマを取得するために、私はテーブルの最後の行をピックアップしています。この行では、 'Datasystems'または' Cameroun'である 'favorite_theme'を抽出し、この変数は私のstaticfilesのパスになければなりません。 – Deadpool