07-15 django 71-75


71.django 的 Model 中的 ForeignKey 字段中的 on_delete 參數有什么作用?

刪除關聯表中的數據時,當前表與其關聯的field的操作
django2.0之后,表與表之間關聯的時候,必須要寫on_delete參數,否則會報異常

72.基於django使用ajax發送post請求時,有哪種方法攜帶csrftoken?

  • 1.后端將csrftoken傳到前端,發送post請求時攜帶這個值發送
data: {
        csrfmiddlewaretoken: '{{ csrf_token }}'
  },
  • 2.獲取form中隱藏標簽的csrftoken值,加入到請求數據中傳給后端
data: {
          csrfmiddlewaretoken:$('[name="csrfmiddlewaretoken"]').val()
     },
  • 3.cookie中存在csrftoken,將csrftoken值放到請求頭中
headers:{ "X-CSRFtoken":$.cookie("csrftoken")} 

73.django 的緩存能使用 redis 嗎?如果可以的話,如何配置?

# 設置django緩存存放位置為redis數據庫,並設置一個默認(default)選項,在redis中(配置文件/etc/redis/redis.conf)開啟了RDB持久化儲存
# pip install django-redis, 然后在視圖中可以通過 from django_redis import get_redis_connection 這個方法和redis數據庫進行連接
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        # redis服務器的ip地址及端口號,及數據庫序號,redis一共有15個數據庫 0~15
        "LOCATION": "redis://127.0.0.1:6379/6",
     # "LOCATION": "redis://:passwordpassword@47.193.146.xxx:6379/0", # 如果redis設置密碼的話,需要以這種格式進行設置,host前面是密碼
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

74.django 路由系統中 name 的作用?

  • name:對URL路由關系進行命名

75.django 的模板中 filter、simpletaginclusiontag 的區別?

filter的用法:
   #先引入template
from django import template
#聲明register,名字只能是register
register = template.Library()

#帶名字的裝飾器,調用的時候用起的名字 如dsb
@register.filter(name='dsb')
def add_sb(value, arg):
   return "{}_{}abc".format(value, arg)

@register.filter
def add_sb(value, arg):
   return "{}_{}_abc".format(value, arg)
 
自定義simpletag和自定義inclusion_tag
1. 在app下創建一個名叫templatetags的python包
2. 在templatetags里建一個py文件

simpletag的用法:

和自定義filter類似,只不過接收更靈活的參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM