1 / 25

Training django

VIDA. Training django. Template + VIEW django. I- Template. 1) Giới thiệu : Đơn giản chỉ là 1 text file Format : html, xml, csv … Template được trả về thông qua đối tượng HttpResponse trong views.py( Xem Tại đây ). I- Template. 2)Tag + Filter ( quan trọng & thường dùng ) :

dyan
Download Presentation

Training django

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VIDA Training django Template + VIEW django

  2. I- Template • 1) Giớithiệu: • Đơngiảnchỉlà 1 text file • Format : html, xml, csv… • Template đượctrảvềthông qua đốitượngHttpResponsetrong views.py(XemTại đây )

  3. I- Template • 2)Tag + Filter (quantrọng & thườngdùng): • Sửdụngthẻ {% tag %} {% endtag %} • Dùngđểtạo text cho output, tạovònglặphoặc logic xữlýcho template.

  4. I- Template • 2)Tag + Filter (quantrọng & thườngdùng): • {{ variable }} • In ragiátrịcủabiến • Địnhdạngbiến • Cóthểtruyxuấtcác attribute củabiến qua dấu “.”

  5. I- Template • 2)Tag + Filter (quantrọng & thườngdùng): • {% extends%} • Thừakếtừ 1 template khác • MasterPagesửdụng : • {% block name_block%}{% endblock %} đểtạocáckhối • Trang master chứacấutrúc • ChildrenPage: • Sửdụng block ở master chứadữliệu

  6. I- Template • 2)Tag + Filter (quantrọng & thườngdùng): • {% extends%} • Vídụ: • Master : • Children: • Kếtquả:

  7. I- Template • 2)Tag + Filter (quantrọng & thườngdùng): • {% include %} • Chèn 1 template khác • {% include ”other_page.html” %} • Vídụ:

  8. I- Template 2)Tag + Filter (quantrọng & thườngdùng): + Cycle: chukỳcủabiến + For: + If

  9. I- Template 2)Tag + Filter (quantrọng & thườngdùng): + Boolean operator: and, or, not + (==, <=, >=, <, >, in, not in) +

  10. I- Template 2)Tag + Filter (quantrọng & thườngdùng): Filter:

  11. I- Template 2)Tag + Filter (quantrọng & thườngdùng): Filter:

  12. I- Template 3)Cáchtạovàsửdụng custom Filter: + Tạo 1 folder templatetagstrong app + Tạo file .pyvới name làtên filter muốntạo + Edit file filter vừatạo: + Khaibáothưviện template + Tạo function filter + Đăngký filter Vídụ:

  13. I- Template 3)Cáchtạovàsửdụng custom Filter: Vídụ: + Sửdụng: Dùng tag {% load name_filter %} Vídụ:

  14. I- Template 4)Cáchtạovàsửdụng custom Tag: + Tạo 1 folder templatetagstrong app + Tạo file .pyvới name làtêntagmuốntạo + Edit file tag vừatạo: + Khaibáothưviện template + Tạo function compiling + Tạo function rendering + Đăngkýtag Vídụ:

  15. I- Template 4)Cáchtạovàsửdụng custom Tag: Cáchthứchoạtđộng: + Django Template hoạtđộngtheo 2 bước: Compiling và rendering + Một template thôđượcphân chia thànhcác “node” , mỗi node là 1 instance củadjango.template.Nodevàcó 1 hàm render() + 1 compiled là 1 list các node Vìvậy, đểtạocác custom tag chomìnhcầntạo function compile và function render()

  16. I- Template 4)Cáchtạovàsửdụng custom Tag: 2customtagthườngdùng: + Assignment tag: Là tag đượcdùngthông qua biếnphụđểlưugiátrị. - Cúpháp: {% name_tag “agr” as name_variable %} Vídụ:

  17. I- Template 4)Cáchtạovàsửdụng custom Tag: 2customtagthườngdùng: + Block tag: Là tag đượcdùngthông qua 1 cặp tags - Cúpháp: {% name_open_tag %}{% end_tag %} Vídụ:

  18. I- Template 4) Nơilưutrữ:

  19. II- Views.py • Giốngnhư controller trongcác framework khác, lànơitiếpnhận request, xữlývà render kếtquảvềcho client.

  20. II- Views.py • Import cácđốitượngcầndùngcho view(model, request…) • Khaibáo function xữlý:

  21. II- Views.py • Khimộttrangđược request từ client, djangosẽtạo 1 đốitượngHttpRequest, đốitượngnàysẽlàmthamsốthứnhấtchocác function xữlýtrong view. • Vídụ: • Request method Http baogồm method “POST” và “GET” • Đểkiểmtra request ta sửdụng: • Lấydữliệutừ request: • Method GET: data1 = request.GET[param1]… • Method POST: data1 = request.POST[param1]…

  22. II- Views.py • Đểkiểmtra 1 request cóphảilàXMLHttpRequest (ajax): Ta sửdụngrequest.is_ajax() Function nàysẽtrãvề true nếunhư request đólà 1 XMLHttpRequest. • Note: Sửdụngrequire_http_methods ở đầu function xửlýđểchophéptruyxuấtthông qua method http nhấtđịnh.

  23. II- Views.py • Saukhitiếnhànhxửlýxong, view trảvểkếtquảcóthể là 1 đoạn text, 1 trang html…hoặccóthểlà 1 lệnhchuyểnhướng. đểlàmđiềuđónóphảithông qua đốitượngHttpResponse + Đểchuyểnhướng: + Để render 1 template: + Đểtrảvề 1 đoạn text:

  24. II- Views.py • Trong view ta cóthể get template bằngcách:

  25. The endThank for watching

More Related