1. 程式人生 > >Django框架學習筆記(4.簡單的總結)

Django框架學習筆記(4.簡單的總結)

這裡對前面三節的知識做個簡單的總結:

一、基本操作:

1.建立Django工程:

    django-admin startproject [工程名]

2.建立app:

    cd [工程名]

    python manage.py startapp [app名稱]

3.配置靜態檔案:

    settings.py

    注意:最後的那個逗號不能少

STATICFILES_DIRS=(
    os.path.join(BASE_DIR, "static"),
)
4.配置模板路徑:

    settings.py

TEMPLATES = [
    {
        'BACKEND'
: 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth'
, 'django.contrib.messages.context_processors.messages', ], }, }, ]
5.註釋CSRF:

    settings.py

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]

二、程式碼

1.定義路由規則:

    urls.py

path('home/', home),
    對應函式

2.定義檢視函式:

    views.py

def func(request):
    注意這裡必須帶一個引數request

方法(以POST為例):

(1.方式

request.method == "POST":
(2.獲取
request.POST.get("key", None)
(3.返回字串
return HttpResponse("字串")
(4.返回本地模板(第三個引數是字典,可選引數)
return render(request, "html檔案路徑", 可以再加一個引數)
(5.返回URL(返回本地的時候,前面必須加上/)
return redirect("URL")

3.模板渲染:

    特殊的模板語言

(1.取變數值(這裡用的上面講的render的第三個引數,取key對應的value)

<td>{{ 變數名 }}</td>
(2.for迴圈
{% for row in user_list%}
<tr>
    <td>{{ row.username }}</td>
    <td>{{ row.gender }}</td>
    <td>{{ row.email }}</td>
</tr>
{% endfor %}
(3.一些特殊操作
return render(request, "1.html", {
         "Key1":["V1", "V2"]},
         "Key2":{"k1":"v1", "k2":"v2"})
{{ Key1.0 }}   這裡獲取的就是V1
{{ Key1.1 }}   這裡獲取的就是V2
{{ Key2.k1 }}  這裡獲取的就是v1
{{ Key2.k2 }}  這裡獲取的就是v2
(4.if-else用法
return render(request, "1.html", {"user":"me"})

{% if user %}
    <a>存在</a>
{% if user == "me" %}
        <a>合適</a>
{% else %}
        <a>存在但是不合適</a>
    {% endif %}
{% else %}
    <a>不合適</a>
{% endif %}

Django請求的生命週期:

->url對應關係(匹配)  ->檢視函式  ->返回給使用者一個字串

->url對應關係(匹配)  ->檢視函式  ->開啟一個HTML檔案,讀取內容