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