01/10/2018, 17:25

Cách gọi một view từ một view khác trong django

Em xin chào mọi người ạ ,

Em đang học làm web bằng django , em đang mắc đoạn này chưa biết các làm mong mọi người chỉ bảo ạ .

Đầu tiên em có 2 cái view như sau :

def Test(request):
    menu = Category.objects.all()
    return render(request,'learn/test.html',{'menus':menu})

def Test2(request):
    subjects = Subject.objects.all()
    return render(request,'learn/test2.html',{'subjects':subjects})   

Đoạn mã template cho 2 view trên như sau

<!-- test.html -->
<h1 style="color:red">List 1</h1>
{% for cat in menus %}
  <h1 style="color:red">{{cat.title}}
  </h1>
{% endfor %}

<!-- test2.html -->
<h1 style="color:black">List 2</h1>
{% for sub in subjects %}
  <h1 style="color:black">{{sub.title}}
  </h1>
{% endfor %}
<hr/>

Và kết quả :



Bây giờ em muốn đứng ở trang test2 , load trang test1 đưa vào nội dung của trang test2 thì phải làm sao ạ , em có tìm hiểu thấy được thẻ include nhưng nó chỉ lấy mã html từ trang test qua được thôi , chứ đoạn mã liên quan tới server side thì nó không lấy được ạ :

{% include 'learn/test.html' %}


Vậy mọi người cho em hỏi để giải quyết trường hợp này em phải làm sao ạ ?
Rất mong được mọi người chỉ bảo , em xin chân thành cảm ơn .

Bài liên quan
0