Django(4)-view

mvc = model view controllercss

MVC是三個單詞的首字母縮寫,它們是Model(模型)、View(視圖)和Controller(控制)。html

MVC模式解釋成"外觀"(view)、"機制"(controller)和"功能/數據"(model)這三層結構python

 

django MTV模式數據庫

 view是拿templates的靜態頁面,動態添加數據庫對應的數據組成一個頁面django

 

day65 2018-06-15mvc

1. 內容回顧
app


2. 今日內容
https://www.cnblogs.com/liwenzhou/p/8296964.html
1. Django框架詳細介紹

1. 視圖 views.py

1. FBV(function base view) 基於函數的視圖

拋出一個問題:
函數的裝飾器能不能直接用來裝飾類中的方法

2. CBV(class base view) FBV(function base view)

3. 上傳文件的注意事項:
1. 若是有上傳文件,views.py中應該從request.FILES中取上傳的文件對象
2. 若是有上傳文件,html文件中的form表單必定要加 enctype="multipart/form-data"

file_obj = request.FILES.get("touxiang") # 拿到上傳文件對象
file_name = file_obj.name # 拿到文件名
with open(file_name, "wb") as f: # 在本地新建一個同名文件
for line in file_obj.chunks(): # 從上傳的文件對象中一點一點讀取數據
f.write(line) # 寫到新建的文件中

4. JsonResponse
Django封裝的一個專門用來返回JSON格式數據的方法

from django.http import JsonResponse

JsonResponse(字典)
JsonResponse(列表,safe=False)

2. 模板語言

1. 目前已經學到的模板語言內容
1. {{變量}}
2. {% 邏輯操做 %}
1. for循環
{% for i in list %}
{{ i }}
{% endfor %}

forloop.counter
forloop.counter0

forloop.last

{% empty %}

2. if判斷
{% if 條件 %}
條件成立要作的事兒
{% else %}
條件不成立要作的事兒
{% endif %}
3. 邏輯判斷
1. in 判斷
2. == 判斷

1. 模板語言變量相關
1. 字典的key對應的值
{{ dic.key}}
2. 列表按索引取值
{{ list.1 }}
3. 對象的屬性和方法
{{ obj.name }}
{{ obj.dream }} --> 方法不要加括號
2. Filters (對變量作一些額外的操做)
1. 內置的filter
2. 自定義的filter

1. 在app下面新建一個Python package,包名必須叫 templatetags
2. 在上面的包中新建一個python文件,裏面定義函數,而且註冊到django的模板語言
from django import template
# 生成一個用於註冊自定義filter方法的實例
register = template.Library()框架


@register.filter(name="sb")
def add_sb(value):
return "{} sb".format(value)
3. 使用自定義的filter方法
{% load py文件名 %}
{{ value|sb }}
3. tags


4. 母版與繼承
1. 定義母版 --> 其餘不少頁面會用到的共用部分 咱們能夠提取出來放在單獨的一個html文件中
2. 在母版中 經過定義不一樣的 block 等待子頁面來替換對應的內容
3. 在子頁面中 經過 {% extends 'base.html '%}來繼承已經定義好的母版
4. 在子頁面中經過 block 來實現自定義頁面內容
5. 一般會在母版中定義 子頁面專用的 page-css 和 page-js 兩個塊

5.組件
把功能相對獨立的html代碼 放在一個單獨的文件中 做爲組件 供其餘頁面使用
{% include 'nav.html' %}


3. 端午節做業
1. 把今天上課的內容整理好blog
2. 把班級管理系統用母版和繼承的方式改寫一下
3. Django版代碼行數統計系統
詳細需求見羣文件截圖函數

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息