use FormView

https://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-editing/#formview

On Wed, Oct 25, 2017 at 1:21 PM, mohammad k <[email protected]> wrote:

> class Upload(FormView):
>     http_method_names = ['get', 'post']
>     template_name = 'public/upload.html'
>     success_url = reverse_lazy('upload')
>     form_class = UploadForms
>
>     def get(self, request, *args, **kwargs):
>         form = self.form_class(user=request.user)
>         return render(request, self.template_name, {'form': form})
>
>     def post(self, request, *args, **kwargs):
>         form = self.form_class(request.POST, request.FILES,
> user=request.user)
>         if form.is_valid():
>             data = form.save(commit=False)
>             data.user = request.user
>             data.save()
>             messages.add_message(request, messages.SUCCESS,
> self.success_message)
>             return redirect(self.success_url)
>         return render(request, self.template_name, {'form': form})
>
> On Wed, Oct 25, 2017 at 3:22 AM, Jack Zhang <[email protected]> wrote:
>
>> Thanks for your response.  This is an off-topic question but I can't
>> figure out how to get 'request' working.  I'm using the CreateView generic
>> class, so there's no space to insert 'request'.  This is what my code looks
>> like.  When I try to run it, it tells me that request is not found.
>>
>> class ListingCreateView(LoginRequiredMixin, CreateView):
>>     model = BuyerListing
>>
>>     form_class = PostListing(self.request.POST)
>>     if form.is_valid():
>>         form_save = form.save(commit=False)
>>         form_save.user = request.user # user is logged in
>>         form.save()
>>
>>     def get_queryset(self):  # the user want to edit this post must be
>> owner this post
>>         post_qs = super(PostListing, self).get_queryset()
>>         return post_qs.filter(user=self.request.user)
>>
>> On Tuesday, October 24, 2017 at 12:35:15 PM UTC-4, k2527806 wrote:
>>>
>>> try that in your views
>>>
>>> form = Dog_Form(request.POST)
>>> if form.is_valid():
>>>     form_save = form.save(commit=False)
>>>     form_save.user = request.user # user is logged in
>>>     form.save()
>>>
>>>
>>> On Tue, Oct 24, 2017 at 7:37 PM, Jack Zhang <[email protected]> wrote:
>>>
>>>> Let's say I have a model called 'Dogs'.  Users can create instances of
>>>> Dogs.  Let's say we have a user called User1.  I have 2 questions:
>>>>
>>>> 1. When User1 creates an instance of Dogs, how do I automatically
>>>> assign that instance to User1?  I tried using a model field like this but
>>>> it doesn't pick the user automatically:
>>>>
>>>> user = models.ForeignKey(User, unique=False)
>>>>
>>>> 2. After the instance has been created, how do I make the instance only
>>>> editable and removable by the user who made it?  Basically, if User1
>>>> creates an instance of Dogs, only User1 can edit and delete that instance.
>>>>
>>>> Thanks.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Django users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/django-users.
>>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>>> gid/django-users/dedbfe8b-1013-4844-b142-1e8615a1ef9a%40goog
>>>> legroups.com
>>>> <https://groups.google.com/d/msgid/django-users/dedbfe8b-1013-4844-b142-1e8615a1ef9a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit https://groups.google.com/d/ms
>> gid/django-users/950d853a-ade3-4d27-8e23-a47c6b70c80e%40googlegroups.com
>> <https://groups.google.com/d/msgid/django-users/950d853a-ade3-4d27-8e23-a47c6b70c80e%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CACOk0TzRtASzQuPsHFWSmef%3D_P8bdb-H-Y_YEaG6vJfg0sBiKg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to