The code of your model would be more interesting. According to the
error, Post have no method get_absolute_url. That method isn't
provided by models.Model, you have to write it. A way to do it is like
that:

    from django.db import models
    from django.urls import reverse

    class Item(models.Model):
        name = models.CharField(max_length=32)

        def get_absolute_url(self):
            return reverse('app:item', kwargs={'pk':self.pk})


Also, I would suggest you to have a look at class based view,
especially those handling form [1]. That's unrelated to your problem
but might save you time in the future :)

[1] 
https://docs.djangoproject.com/en/1.9/topics/class-based-views/generic-editing/

2016-07-18 14:25 GMT+02:00 Mayur Pabari <pabarima...@gmail.com>:
>
> Below is the code of views.py. I am getting error when calling
> HttpResponseRedirect in update and create method. So please let me know
> how can i solve this ?
>
> from django.shortcuts import render, get_object_or_404
> from django.http import HttpResponse, HttpResponseRedirect
>
> from .forms import PostForm
> from . models import Post
>
> def post_create(request): #create Method
>     form = PostForm(request.POST or None)
>     if form.is_valid():
>         instance = form.save(commit=False)
>         instance.save()
>         return HttpResponseRedirect(instance.get_absolute_url())
>
>     context = {
>     "form" : form,
>     }
>     return render(request, "post_form.html", context)
> def post_list(request): #list method
>     queryset = Post.objects.all()
>     context = {
>     "object_list": queryset,
>     "title": "List"
>     }
>     return render(request, "index.html", context)
>
> def post_update(request, id=None): #update Method
>     instance = get_object_or_404(Post, id=id)
>     form = PostForm(request.POST or None, instance=instance)
>     if form.is_valid():
>         instance = form.save(commit=False)
>         instance.save()
>         return HttpResponseRedirect(instance.get_absolute_url()) #i am
> getting error here
>
>     context = {
>         "title": instance.title,
>         "instance": instance,
>         "form": form,
>     }
>     return render(request, "post_form.html", context)
>
> --
> 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 django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> 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/5486d915-3589-43c8-8d39-943b299f1a20%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 

Cordialement, Coues Ludovic
+336 148 743 42

-- 
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/CAEuG%2BTb0Y551wmD3BswseYfWCmFNDmop-vSPZX87LiO95zYqEA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to