για σας έχω δημιουργήσει μια django form από την οποία ο κάθε χρήστης αφού κάνει login θα μπορεί να κάνει μια επιλογή μιας εικόνας από αυτές που έχει ανεβάσει στο app μου.
για παράδειγμα αν έχει ενεβασει 10 εικόνες τότε στην φόρμα αυτή θα έχει να επιλέξει μια από της 10 σε ένα dropdown menu δίκες του και να πατήσει submit στην φόρμα.
το πρόβλημα μου είναι αφού έχω δημιουργήσει την προσωπική του λίστα σωστά δεν μπορώ να πάρω το request από την εικόνα που θα επιλέξει στο views.py
models.py
class MyModel(models.Model):
user = models.ForeignKey(User, unique=True)
upload = models.ImageField(upload_to='upload')
views.py
@login_required(login_url="login/")
def carlist(request):
Myform = MyModelForm(user=request.user)
return render(request,'about.html',{'Myform':Myform})
select django form :
class MyModelForm(ModelForm):
def __init__(self, *args, **kwargs):
# extract "user" from kwrags (passed upon form init)
if 'user' in kwargs:
self.user = kwargs.pop('user')
super(MyModelForm, self).__init__(*args, **kwargs)
# generate the choices as (display, value).
# Display is the one that'll be shown to user, value is
# the one that'll be sent upon submitting
# (the "value" attribute of <option>)
choices = MyModel.objects.filter(user=self.user).values_list('upload', 'id')
self.fields['upload'].widget = Select(choices=choices)
class Meta:
model = MyModel
fields = ('upload',)
html :
<form class="" action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ Myform}}
<input type="submit" name="" value="Submit">
για παράδειγμα στο views.py αν κάνω print την Myform παίρνω σωστά σαν αποτέλεσμα την λίστα όμως μετά από αυτό θέλω να πάρω με κάποιο request και αυτή που έχει επιλέξει.