Django----做一個簡單網頁的教程(適合初學者)

來源:互聯網
上載者:User

標籤:tar   取出   conf   one   --   man   產生   會展   路由   

這篇文字適合剛學習Django的同學,如果比較熟的就不用看了。

以下都是講在windows上的部署情況;

準備:

1、python3.6

2、pycharm profession(專業版)

3、安裝Django模組

以上的安裝就不講了,比較簡單,網上也有很多教程。都去官網下載安裝即可。

前言:

學習django架構其實就是學習它的檔案目錄,目錄下有一些必須的模組和包,當然你也可以自己在這些目錄下再建立目錄或模組和包。

**一、我們開啟pycharm建立一個Django工程(也可以直接在terminal下用指令django-admin startproject xxx建立)

File---New Project**

建好好會自動產生一個目錄架構。那麼來瞭解下這個架構裡檔案的作用。

二、編寫商務邏輯

建立成功工程後views.py檔案裡是空的,需要自己編寫商務邏輯。

from django.shortcuts import HttpResponse #匯入HttpResponse模組def index(request):#request是必須帶的執行個體。類似class下方法必須帶self一樣    return HttpResponse("Hello World!!")#通過HttpResponse模組直接返回字串到前端頁面

三、配置url路由

from laomomo import views#匯入views模組from django.conf.urls import urlurlpatterns=[    url(r‘^index/‘,views.index)#配置當訪問index/時去調用views下的index方法]

四、運行server並訪問

terminal下執行 python manage.py runserver 這樣執行預設的路徑是127.0.0.1:8080

指定連接埠或地址就再後面寫上,如:python manage.py runserver 127.0.0.1:8888

然後瀏覽器訪問http://127.0.0.1:8888

這裡的Hello World!!就是views.py檔案下index方法通過HttpResponse返回到前端的。

問題來了,這樣感覺有點簡單,如果要顯示一些資料呢?怎麼辦?那麼我們就需要寫html檔案來承載。

五、修改views.py裡的index方法如下

from django.shortcuts import render#匯入render模組#先定義一個資料列表,當然後面熟了可以從資料庫裡取出來list = [{"name":‘good‘,‘password‘:‘python‘},{‘name‘:‘learning‘,‘password‘:‘django‘}]def index(request):    return render(request,‘index.html‘,{‘form‘:list})#通過render模組把index.html這個檔案返回到前端,並且返回給了前端一個變數form,在寫html時可以調用這個form來展示list裡的內容

六、編輯html檔案

建立成功工程後templates檔案目錄下是空的,我們需要在該目錄下建立一個html檔案來把內容展示到前端

<!DOCTYPE html><html lang="en">    <head>        <meta charset="UTF-8">        <title>test</title>    </head>    <body>    <table border="1">        <thead>        <tr>            <td>使用者名稱</td>            <td>密碼</td>        </tr>        </thead>        {%for line in form%}            <tr>                <td>{{line.name}}</td>                <td>{{line.password}}</td>            </tr>        {% endfor %}    </table>    </body></html>

html裡要寫if或for等語句時用{%%},調用變數時用{{ }}括弧

我們重新運行下server,訪問瀏覽器應該會展示list裡的資料了。

好,到這裡我們可以展示後台設定好的資料給前端。這好像也不太友好。我們來做一個前端可以輸入使用者名稱和密碼,然後把輸入的使用者和密碼展示出來。

七、重新編寫html檔案

<!DOCTYPE html><html lang="en">    <head>        <meta charset="UTF-8">        <title>test</title>    </head>    <body>    <table border="1">        <form action="/index/" method="post">            {% csrf_token %}            <P>                <label >使用者名稱:</label>                <input type="text" name =‘name‘/>            </P>            <P>                <label>密碼:</label>                <input type="text" name=‘password‘/>            </P>            <p><input type="submit" value="提交"/></p>        </form>        <thead>        <tr>            <td>使用者名稱</td>            <td>密碼</td>        </tr>        </thead>        {%for line in form%}            <tr>                <td>{{line.name}}</td>                <td>{{line.password}}</td>            </tr>        {% endfor %}    </table>    </body></html>

這裡加入了使用者名稱和密碼的輸入框和一個提交按鈕,設定的方法試post,下面我們就需要編寫views.py下的index方法來擷取這個post過來的資料,然後返回給最上層顯示。

八、修改views.py下的index方法:

from django.shortcuts import render#匯入render模組#先定義一個資料列表,當然後面熟了可以從資料庫裡取出來list = [{"name":‘good‘,‘password‘:‘python‘},{‘name‘:‘learning‘,‘password‘:‘django‘}]def index(request):    #擷取前端post過來的使用者名稱和密碼    name = request.POST.get(‘name‘,None)    password = request.POST.get(‘password‘,None)    #把使用者和密碼組裝成字典    data = {‘name‘:name,‘password‘:password}    list.append(data)    return render(request,‘index.html‘,{‘form‘:list})#通過render模組把index.html這個檔案返回到前端,並且返回給了前端一個變數form,在寫html時可以調用這個form來展示list裡的內容

再次運行server通過瀏覽器訪問就會有提交的資料即時展示了的效果了

到這裡就完成了一個簡單的網頁製作的過程,有問題可以向我提問。

Django----做一個簡單網頁的教程(適合初學者)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.