私は自分のウェブサイトで画像ギャラリーアプリケーションを使用しています。現在、私はディレクトリに画像ファイルをドロップし、各画像のimg htmlタグを手動で書き込んでいます。 djangoがディレクトリ内のファイルのリストを自動的に作成し、json出力をギャラリーアプリに送ることができるので、javascriptを使って各画像ファイルに対して<img>
要素を生成することができます。あるいは、ギャラリーアプリがリクエストされたときに、ディレクトリ内の各ファイルに対して<img>
の要素を自動的に生成するようにdjangoを直接作ることができます。Django:ディレクトリ内のファイルのリストを自動生成
4
A
答えて
14
ここでのコードのビットは、あなたのためです:
views.py
import os
def gallery(request):
path="C:\\somedirectory" # insert the path to your directory
img_list =os.listdir(path)
return render_to_response('gallery.html', {'images': img_list})
gallery.html
{% for image in images %}
<img src='/static/{{image}}' />
{% endfor %}
3
import os
from django.conf import settings
from annoying.decorators import ajax_request
@ajax_request
def json_images(request, dir_name):
path = os.path.join(settings.MEDIA_ROOT, dir_name)
images = []
for f in os.listdir(path):
if f.endswith("jpg") or f.endswith("png"): # to avoid other files
images.append("%s%s/%s" % (settings.MEDIA_URL, dir_name, f)) # modify the concatenation to fit your neet
return {'images': images}
この機能は、すべての画像を含むJSONオブジェクトを返しますMEDIA_ROOT内のディレクトリ。
django-annoyingパッケージが必要です。
関連する問題
- 1. ディレクトリ内のファイルからオブジェクトを自動的に作成する
- 2. ファイルの自動生成
- 3. Django Adminの自動生成スラッグ
- 4. djangoの登録でDjangoのユーザー名を自動生成する
- 5. R.java自動生成ファイル
- 6. wp_mail()内の添付ファイルが自動生成されません
- 7. ディレクトリ内の多くのファイルを自動コンパイル、アセンブル、リンクするメイクファイル
- 8. Djangoの自動作成モデル
- 9. ディレクトリ内のファイルを自動的に追跡する
- 10. Djangoファイルのアップロードとディレクトリの作成
- 11. .aspx生成ファイルを自動的にダウンロード
- 12. Android:ディレクトリ内のファイルのリストはランダム
- 13. PHP - ディレクトリ内のファイルのリストとオープン
- 14. Djangoの残りのフレームワークポスト主キーUUIDまたは自動生成
- 15. 自動再生の動画(リスト表示)
- 16. フィールド生成メソッドの自動生成
- 17. Djangoのフォームchoicefield自動的に生成された選択肢
- 18. ファイル/ディレクトリ名の文字列を生成
- 19. ファイルを保存して自動的にディレクトリを作成する
- 20. ジャンゴDjangoのテンプレート・ファイル内の静的ファイルのディレクトリ
- 21. Hibernateマッピングファイルの自動生成
- 22. ジャンゴモードの自動生成シート
- 23. PDF生成の自動化
- 24. 自動データアクセスレイヤの生成
- 25. intellijのjavadoc自動生成
- 26. ウェブサイトの自動生成グラフ
- 27. Javaポリシーファイルの自動生成
- 28. サブクラスの自動生成メソッド
- 29. jqueryuiカスタムデータの自動作成、リスト作成
- 30. 。ディレクトリ内のファイルを移動する
はい、可能です。 DjangoはPythonであるため、Pythonアルゴリズムを使用してディレクトリ内のファイルのリストを作成し、それを使用して要素を生成するか、または 'for'テンプレートタグを使用して実行できます。 – Dracontis