1. 程式人生 > >Django搭建一個網站(1)

Django搭建一個網站(1)

由於Scrapy爬蟲得到的結果及視覺化後的圖片需要展示,所以需要Django搭建一個網頁,從零開始學起吧。

學習資料:自強學堂:https://code.ziqiangxuetang.com/

1.新建一個專案:

    進入放置專案的目錄後,在控制檯打出:django-admin startproject project-name,然後發現目錄下出現了一個檔案,用PyCharm開啟

2.新建app:

進入projectname目錄,目錄下有一個同名資料夾和manage.py,執行下列命令:

    python manage.py startapp app_name

app就是python的一個package,用來整合網站的某個功能(大概是這麼個意思),當然也可以用PyCharm來建立

3.建立資料庫表或更改資料庫表或欄位:

    python manage.py makemigrations    # 建立更改的檔案

    python manage.py migrate # 將生成的py檔案應用到資料庫

4.將新建的app加入到setting.py中的INSTSLL_APP中,不然Django不會自動找到app中的模板檔案和靜態檔案:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog', # app名
    # 如果app不加入這裡,django就不能自動找到app中的模板檔案(app-name/templates/下的檔案)和靜態檔案(app-name/static/中的檔案)
)

5.開啟app目錄下的views.py檔案,因為這裡是檢視層,存取模型和調取恰當模板的相關邏輯,模板與模板之間的橋樑,定義檢視函式:

from django.http import HttpResponse
from django.shortcuts import render
 
 
def block_list(request):
    return render(request, 'index.html')    # 預設配置下,Django的模板系統會自動找到app下的templates資料夾中的模板檔案

6.render函式會自動去尋找index.html,所以我們需要自行在app目錄下建立一個templates資料夾,裡面建立一個index.html,暫時寫入如下程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>部落格</title>
</head>
<body>
<h1>歡迎來到我的部落格!</h1>
</body>
</html>

7.將檢視函式對應到網址上,更改專案目錄下的urls.py,新增:

url(r'^$', 'blog.views.blog_list', name='blog_list')

blog是我的app名,views是APP裡的檢視檔案,block_list是views.py裡的函式。這一行程式碼的意思據我的理解,應該是這樣的——添加了一個網址,這個網址的格式是‘^$’的正則式,呼叫了blog_list這樣一個函式,對於這樣一個網址,給它取個名字叫blog_list,方便在模板檔案中進行引用

8.執行:

    python manage.py runserver

輸入網址http://127.0.0.1:8000/檢視網頁