成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Django開發(fā)web站點(diǎn)步驟-創(chuàng)新互聯(lián)

1、創(chuàng)建Django工程

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到三河網(wǎng)站設(shè)計(jì)與三河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋三河地區(qū)。
django-admin startproject 工程名

2、創(chuàng)建App

cd 工程名
 python manage.py startapp cmdb

3、靜態(tài)文件配置

編輯 project.settings.py,追加以下內(nèi)容

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

4、模板路徑配置

DIRS ==> (os.path.join(BASE_DIR, 'templates'),)

5、settings中,注釋 csrf

MIDDLEWARE_CLASSES = (
    #'django.middleware.csrf.CsrfViewMiddleware',
)

6、定義路由規(guī)則,在url.py中定義用戶訪問(wèn)的url由哪個(gè)函數(shù)來(lái)處理請(qǐng)求

url.py
    "login"  --> 函數(shù)名

7、定義視圖函數(shù),在views.py中定義函數(shù)

def func(reuest):
    # request.method GET/POST
    # http://127.0.0.1:8000/home?nid=123&name=bob
    # request.GET.get('',None)  #獲取請(qǐng)求發(fā)來(lái)的數(shù)據(jù)
    # request.POST.get('',None)
    # return HttpResponse("字符串")
    # return Render(request, 'HTML模板路徑',{"user_list": USER_LIST})
    # return redirect('只能填URL,例如:/home')

8、模板渲染

Django特殊的模板語(yǔ)言,例如:

--變量名取值--

在views.py中定義好變量和對(duì)應(yīng)的值,在template的html頁(yè)面中通過(guò)` var_name `的方式來(lái)取值

def func(request):
   return render(request,"index.html",{'current_user': "bob"})

index.html

<html>
<body>
    <div>{{ current_user }}</div>
</body>
</html>

--For循環(huán)取值--

在views.py中定義好列表和值,在template的html頁(yè)面中通過(guò){{ for循環(huán) }}的方式來(lái)取值

def func(request):
    return render(request,"index.html",{
    'current_user': "bob",
    'user_list':['bob','aaa','bbb']})

index.html
<html>
<body>
    <div>{{ current_user }}</div>
    <ul>
    {% for row in user_list %}
        <li>{{ row }}</li>
    <% endfor %>
    </ul>
</body>
</html>

--索引取值--

在views.py中定義好字典和值,在template的html頁(yè)面中通過(guò)` var_name`.`key `的方式來(lái)取值

def func(request):
    return render(request,"index.html",{
        'current_user': "bob", 
        'user_list': ['bob','aaa','bbb'],
        'user_dict': ['k1': 'v1', 'k2': 'v2']
        })
        
index.html

<html>
<body>
    <div>{{ current_user }}</div>
    <a>{{ user_list.1 }}</a>  //對(duì)于列表直接用索引取值
    <a>{{ user_dict.k1 }}</a> //對(duì)于字典,要用key取值
    <a>{{ user_dict.k2 }}</a>
</body>
</html>

--循環(huán)字典--

模板語(yǔ)法除了而已循環(huán)列表外,也可以循環(huán)字典,用法和python基本一樣,只不過(guò)循環(huán)時(shí),不要加括號(hào)()

USER_DICT = {
    'K1': 'V1',
    'K2': 'V2',
    'K3': 'V3',
    'K4': 'V4'
}


例1、循環(huán)key
{% for k in USER_DICT.keys %}
    <li>{{ k }}</li>
{% endfor %}


例2、循環(huán)鍵值對(duì)
{% for item in USER_DICT.items %}
    <li>{{ item }}</li>
{% endfor %}

例3、循環(huán)values
{% for v in USER_DICT.values %}
    <li>{{ v }}</li>
{% endfor %}

例4、循環(huán)values
{% for k,v in USER_DICT.items %}
    <li>{{ k }}-{{ v }}</li>
{% endfor %}

--條件取值--

{% if %}

    {% if %}

    {% endif %}

    {% else%}

{% else %}

{% endif %}

def func(request):
    return render(request,"index.html",{
        'current_user': "bob", 
        'age': 18,
        'user_list': ['bob','aaa','bbb'],
        'user_dict': ['k1': 'v1', 'k2': 'v2']
        })
        
index.html

<html>
<body>

    <div>{{ current_user }}</div>
    <a>{{ user_list.1 }}</a>  //對(duì)于列表直接用索引取值
    <a>{{ user_dict.k1 }}</a> //對(duì)于字典,要用key取值
    <a>{{ user_dict.k2 }}</a>
    {% if age %}
    <a>有年齡</a>
        {% if age > 16 %}
            <a>老男人</a>
        {% else %}
            <a>小鮮肉</a>
        {% endif %}
    {% else %}
        <a>無(wú)年齡</a>
    {% endif %}
</body>
</html>

模板的工作流程:

  • 1、當(dāng)用戶請(qǐng)求通過(guò)url發(fā)送請(qǐng)求后,django路由將請(qǐng)求交給視圖函數(shù),

  • 2、然后視圖函數(shù)會(huì)先去取模板,

  • 3、將模板中有` current_user `這樣的變量與視圖中定義的值進(jìn)行渲染,渲染后將模板內(nèi)容轉(zhuǎn)換成字符串

  • 4、將生成后字符串整體返回給用戶

過(guò)濾器

模板過(guò)濾器是變量顯示前轉(zhuǎn)換它們的值的方式,看起來(lái)像下面這樣

{{ name|lower }}

這將顯示通過(guò)lower過(guò)濾器過(guò)濾后` name `變量的值,它將文本轉(zhuǎn)換成小寫
使用(|)管道來(lái)申請(qǐng)一個(gè)過(guò)濾器

過(guò)濾器可以串成鏈,即一個(gè)過(guò)濾器的結(jié)果可以傳向下一個(gè),下面是escape文本內(nèi)容然后把換行轉(zhuǎn)換成p標(biāo)簽的習(xí)慣用法

{{ my_text|escape|linebreaks }}

更過(guò)關(guān)于Django模板的資料,請(qǐng)?jiān)L問(wèn):

http://blog.csdn.net/zhangxinrun/article/details/8095118/

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

網(wǎng)站名稱:Django開發(fā)web站點(diǎn)步驟-創(chuàng)新互聯(lián)
瀏覽路徑:http://jinyejixie.com/article48/ghdep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)域名注冊(cè)、網(wǎng)站制作、Google、網(wǎng)站策劃網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
龙游县| 宁化县| 鄢陵县| 平湖市| 凤阳县| 云和县| 南开区| 禄劝| 旬阳县| 旬阳县| 南靖县| 乳山市| 新巴尔虎右旗| 洛隆县| 沙洋县| 浦江县| 平南县| 开原市| 湘阴县| 桃园市| 漳平市| 遂宁市| 贡山| 邯郸县| 泗洪县| 安阳县| 琼海市| 龙陵县| 巧家县| 稻城县| 阳信县| 会同县| 崇义县| 平原县| 古田县| 太保市| 龙里县| 绥棱县| 西宁市| 凤阳县| 勐海县|