how to use view function in another function of view in django

21 views
Skip to first unread message

hossein

unread,
Jun 15, 2016, 5:54:18 PM6/15/16
to Django users
def base(request):
j=Job.objects.all()
a=Ab.objects.all()
return render(request,'base.html',{'j':j, 'a':a})

def index(request):
base(request)
x=X.objects.all()
return render(request, 'index.html',{'x':x})

def list(request):
base(request)
z=Z.objects.all()
return render(request, 'list.html',{'z':z})

Gergely Polonkai

unread,
Jun 15, 2016, 10:43:38 PM6/15/16
to Django users

Just like this. Unless you have a specific use case you forgot to share in your mail.

Views are mere functions that get called with a request az a parameter. You shouldn’t treat them as special/holy/uncallable.

Best,
Gergely

--
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...@googlegroups.com.
To post to this group, send email to django...@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/3cc2651c-35df-4eaf-bab6-b1ae936f73d4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

hossein

unread,
Jun 16, 2016, 12:22:23 AM6/16/16
to Django users
More Explain Please


On Thursday, June 16, 2016 at 3:13:38 AM UTC+4:30, Gergely Polonkai wrote:

Just like this. Unless you have a specific use case you forgot to share in your mail.

Views are mere functions that get called with a request az a parameter. You shouldn’t treat them as special/holy/uncallable.

Best,
Gergely

On Jun 15, 2016 19:56, "hossein" <k.saz...@gmail.com> wrote:
def base(request):
j=Job.objects.all()
a=Ab.objects.all()
return render(request,'base.html',{'j':j, 'a':a})

def index(request):
base(request)
x=X.objects.all()
return render(request, 'index.html',{'x':x})

def list(request):
base(request)
z=Z.objects.all()
return render(request, 'list.html',{'z':z})

--
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+unsubscribe@googlegroups.com.

ludovic coues

unread,
Jun 16, 2016, 9:09:33 AM6/16/16
to django...@googlegroups.com
I don't understand what you are trying to do.
base(request) create a response for the browser using j and a to
render base.html.
If you want to have access to j and a in both index.html and
list.html, try this:

def base(request):
j = Job.objects.all()
a = Ab.objects.all()
return {'j':j, 'a':a}

def index(request):
context = base(request)
context['x'] = X.objects.all()
return render(request, 'index.html', context)
>>> email to django-users...@googlegroups.com.
>>> To post to this group, send email to django...@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/3cc2651c-35df-4eaf-bab6-b1ae936f73d4%40googlegroups.com.
>>> 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 django-users...@googlegroups.com.
> To post to this group, send email to django...@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/72d16e93-10b7-4465-b116-68bf054a89d4%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.



--

Cordialement, Coues Ludovic
+336 148 743 42

Abraham Varricatt

unread,
Jun 16, 2016, 11:17:34 AM6/16/16
to Django users
I'm going to go out and make a random guess that when you say "use a view inside another view" with respect to the code you posted, you want all calls to index() or list() to render the base view. In that case just use return. i.e.

def index(request):
  return base(request)

Yours,
Abraham V.
Reply all
Reply to author
Forward
0 new messages