私はMySqlとDjangoを使用しています。データベースに保存されているイメージルートを選択する必要があります。ImageFieldのurl
プロパティを使用することはできません。データベースに格納されているルートである必要があります。adminに画像を保存し、Djangoのテンプレートに画像を表示する正しい方法
まず第一に、これは設定で私の設定です:モデルの
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
MEDIA_ROOT = PROJECT_ROOT + '/archivos/'
MEDIA_URL = '/archivos/'
私の最初の試みは、このでした:
foto = models.ImageField(upload_to = settings.MEDIA_ROOT)
そして、データベースに保存されたURLは、このでした:
/home/developer/project/mysystem/archivos/hombre.png
後で私はモデルでこれを試しました:
foto = models.ImageField(upload_to = '')
また、新しいURLはこれです:イメージはMEDIA_ROOT
フォルダにアップロードされ、両方のケースで
./pantalonazul_pXNLcuF.jpg
が、私はデータベースに保存されたURLを使用しようとすると、画像がショーをしません。私は、jqueryでsrc
を変更しています。私はそれが問題であったのですが、いいえ、私は手作業でURLをイメージに入れました。また、これを試しました:../../archivos/pantalonazul_pXNLcuF.jpg
しかし、同じ悪い結果をもたらしました。
をそして、私はそのリンクをクリックした場合、私は、アドレスバーにこのURLを取得する:私もそのURLを使用しようとした
http://127.0.0.1:8000/archivos/pantalonazul_pXNLcuF.jpg
イメージでは、手で、src
プロパティで書かれていますが、動作しませんでした。
最後にURLを取得するためにリンクをクリックすると、URLがurls.pyファイルに登録されていないというエラーが表示され、URLのリストが表示されます。
The current URL, archivos/pantalonazul_pXNLcuF.jpg, didn't match any of these.
私は間違っていますか?なぜイメージを得ることができないのですか?設定や場所に何かがありますか?
PS:画像を保存するフォルダは、自分のアプリケーションフォルダの外にあるか、 "一般"フォルダにあるか、それを呼び出す方法がわかりません。settings.pyがあるフォルダと同じフォルダにあります。私はこのSettings Media URLを読んで、部分的な解決策を発見した、それはこのServinge files during developmentに私をリダイレクトした後
-MyAppFolder
-MySystem
-archivos
-image1.jpg
-image2.jpg
-settings.py
-urls.py
-wsgi.py