私は django で Web サイトを作成しました。ほとんどの場合、いくつかの単純なアプリを使用して、ユーザーの小さなチームがイベントを追加したり、アップロードされたファイルを表示するページを管理したりできます。最も複雑な部分は、各ユーザーがコンテンツを含むホームページを持っていることです。 MarkupField (私はhttps://github.com/jamesturk/django-markupfieldのものを使用しています) と、コンテンツも制御する一連のサブページを介して自分自身を管理します。
私の問題は、画像やファイルをアップロードし、ページでこれらを簡単に参照して、画像を含めたり、ファイルへのリンクを作成したりする方法です。アップロードは問題なく、ImageField が配置されている場所がわかっている場合は画像/ファイルを静的に参照できますが、理想的には、ユーザーは django が実際にファイルを保存する場所や静的に提供される場所について何も知る必要はありません。 . これまでの私の最高のアイデアは次のとおりです。
- UserPage を ForeignKey としてファイル/画像アップロード モデルを作成する
- ユーザーが各ページに好きなだけ画像やファイルをアップロードできるようにする
- MarkupField を変更して、最初にテキストを解析し、いくつかの新しい構文 (たとえば、ページに関連付けられた最初にアップロードされた画像を参照するための「&&IMAGE_1」など) を、参照された画像フィールドが実際に格納する場所の正しい静的 URL に置き換えます。
これの欠点は、独自の小さな構文を発明していて、それを確実に解析する必要があることです。それはそれほど難しいことではありませんが、同じことを達成するための既存の方法、または検討する価値のある代替アプローチはありますか? django フレームワーク内でそれを行うためのより自然な方法が少なくとも欠けているかどうかはわかりません。