データベース内の静的ファイルを参照するアプリケーションを作成しています。フレキシビリティのために、私は戻ってBASE_DIRに基づいて相対的なモデルを作っています。モデルのsettings.pyから変数を呼び出す際の問題
from django.db import models
from django.conf import settings
class agency(models.Model):
agency_name = models.CharField(max_length=200)
agency_flag = models.FilePathField(
path=settings.BASE_DIR+"program/static/flags")
agency_bio = models.CharField(max_length=10000)
agency_color = models.CharField(max_length=20, default='red')
time = models.IntegerField(default=0)
def __str__(self):
return self.agency_name
class Meta:
verbose_name_plural = "Agencies"
変数が一度しか呼び出されない限り、それはうまく動作します。しかし、完全に同一のsettings.BASE_DIRを使用したにもかかわらずsettings.BASE_DIR
class programs(models.Model):
code = models.CharField(max_length=3)
name = models.CharField(max_length=50)
description = models.CharField(max_length=500)
image = models.FilePathField(
path=settings.BASE_DIR+"program/static/programs")
def __str__(self):
return self.code
class Meta:
verbose_name_plural = "Programs"
class shiptypes(models.Model):
name = models.CharField(max_length=200)
desc = models.CharField(max_length=500)
color = models.CharField(max_length=6, default='000000')
image = models.FilePathField(
path=settings.BASE_DIR+"program/static/shiptypes")
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "Ship Types"
を呼び出す必要が2つの以上のモデルがありますが、Djangoはエラー「タイプのオブジェクトの設定」をスロー全てが、第一の基準には属性 『BASE_DIR』がありませんもし私が行って設定を取り除くならば、プログラムやshiptypesのBASE_DIRは問題なく動作しますが、本当に明白なことがあるようですが、私はそれを見ることができません。私はすべての耳でこれを処理するより良い方法)
どのように設定をインポートしていますか? – Sayse
以下の答えが瞬間的に働いた。私は現在、ビューのベースディレクトリも必要としています。同じエラーを表示しています。私が使用したコードは 'django.confのインポート設定からです ' なので、私は何が間違っているのか分かりません... – arlyon