私はdropzone.js経由で画像をアップロードするためにフォームを使用しています。画像は保存され、正常にアップロードされます。しかし、それは空のフィールドを持つ新しいモデルを作成しています。私は参照している既存のモデルに画像を保存したいです。しかし、私はそれを参照する解決策を見つけることができないようです。ここに私のコードです:アップロード画像をDjangoのexisitngモデルに保存
views.py
def client_view(request, pk):
client = get_object_or_404(Client, pk=pk)
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
picture = form.save()
else:
form = UploadFileForm()
data = {'form': form}
return render_to_response('client_view.html', locals(), RequestContext(request), {"img": picture})
return render(request, 'client_view.html', {'client': client})
urls.py
url(r'^client/(?P<pk>\d+)/$', client_view, name='client_view'),
forms.py
class UploadFileForm(forms.ModelForm):
class Meta:
model = Client
fields = ('image',)
(私はエラーがここにあると思います)
models.py
class Client(models.Model):
customer_nr = models.IntegerField(null=True)
last_name = models.CharField(max_length=30, null=True)
first_name = models.CharField(max_length=30, null=True)
birthdate = models.DateField(null=True)
address = models.CharField(max_length=50, null=True)
image = models.ImageField("Image", upload_to='files/%Y/%m', null=True, blank=True)
client_view.html
<form action="{% url 'client_view' pk=client.pk %}" class="dropzone" id="myDropzone">
{% csrf_token %}
<div class="fallback">
<input name="file" type="file" multiple/>
</div>
</form>
<script type="text/javascript">
Dropzone.options.myDropzone = {
paramName: "image",
autoProcessQueue : true,
parallelUploads: 1,
init: function() {
this.on("success", function(file, responseText) {
console.log(responseText);
});
}
};
</script>
は、すべてのヘルプは本当にいただければ幸いです!ありがとう!それはモデルに新しいインスタンスを作成しているので、私の意見では
また、動作します、ありがとう! :) – Progph
@Progph [コメント欄で感謝の気持ちにする](http://meta.stackexchange.com/a/126184) –