HTMLテンプレートからファイルをアップロードすることを検討しています。FileFields、ImageFieldsなどを含むかなりの量のドキュメントを見てきました。しかし、理想的には、コードを書き直したくありません。現在、テンプレートに簡単なフォームがあり、そこにアップロード機能が必要です。ここで、画像がアップロードされ、アプリケーションのメディアフォルダーに保存され、可能であればデータベースに追加されます。
私はおそらく長くて複雑なルートをたどったことを知っていますが、誰かが助けてくれるならそれは素晴らしいでしょう!
html.py:
<div class="row"> <div class="span1 offset5"> </bR> <form class="form-horizontal" method="get" action="/add/submit" value="add"> <fieldset> <div class="input"> <div class="inline-inputs"> <label>Ride Name:</label><input type="text" name="name"> <label>Type:</label><input type="text" name="type"> <label>Theme:</label><input type="text" name="theme"> <label>Description:</label><textarea rows="5" name ="description"></textarea> <label>Author:</label><input type="text" name="author"> <label>Date Released:</label> <div id="datetimepicker" class="input-append date"> <input type="text" name="date"></input> <span class="add-on"> <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> </span> </div> <label>Thread:</label><input type="text" name="thread"> <label>Video</label><textarea rows="2" name ="video"></textarea> <br><br> <input class="btn btn-primary" type="submit" value="Add" /> </div> </div> </fieldset> </form> </div> </div>
現在、私のViews.pyは、入力されたデータを取得してデータベースに挿入するだけです。ファイルをアップロードする機能を追加したい:
def Ride_Add_Submit(request):
name = request.GET['name']
type = request.GET['type']
theme = request.GET['theme']
description = request.GET['description']
author = request.GET['author']
releasedate=request.GET['date']
video=request.GET['video']
thread=request.GET['thread']
entry = RollerCoaster(name=name, type=type, theme=theme, description=description, releasedate=releasedate, author=author, video=video, thread=thread)
entry.save()
return TemplateResponse(request, 'Ride_Add.html')