外層的mysite/目錄與django無關,只是你專案的容器,可以任意重新命名。
manage.py:乙個命令列工具,管理django的互動指令碼。
內層的mysite/目錄是真正的專案檔案包裹目錄,它的名字是你引用內部檔案的python包名,例如:mysite.urls。
mysite/__init__.py:乙個定義包的空檔案。
mysite/settings.py:專案的配置檔案。
mysite/urls.py:路由檔案,所有的任務都是從這裡開始分配,相當於django驅動站點的目錄。
mysite/wsgi.py:乙個基於wsgi的web伺服器進入點,提供底層的網路通訊功能,通常不用關心。
mysite/asgi.py:乙個基於asgi的web伺服器進入點,提供非同步的網路通訊功能,通常不用關心。
create database mysite character set utf8;
pip install mysqlclient
mysite/settings.py配置檔案,這是整個django專案的設定中心。django預設使用sqlite3資料庫,因為python原生支援sqlite3資料庫,所以你無須安裝任何程式,就可以直接使用它。
mysite/settings.py:
# database
# databases =
}修改為:
databases =
}
通過如下命令 : python manage.py migrate
通過上面的需求,設計如下幾張表
欄位名型別
長度主鍵
備註id
int11
true
自增id
keyword
string
256true
關鍵字,唯一
start_page
int11
起始頁end_page
int11
結束頁extra
text
json格式,擴充套件字段
欄位名型別
長度主鍵
備註id
int11
true
自增id
craw_id
int11
true
對應crawler_conf的id,唯一
host_ip
string
256主機ip
belong
string
256歸屬地
main_dns
string
256主網域名稱
link_dns
text
關聯網域名稱
extra
text
json格式,擴充套件字段
欄位名型別
長度主鍵
備註id
int11
true
自增id
status
string
256狀態
action
string
256動作
start_time
string
256起始時間
end_time
string
256結束時間
user_id
string
256使用者id
user_name
string
256使用者名稱
desc
string
256詳細描述
extra
text
256son格式,擴充套件字段
在專案testweb/models下定義
from django.db import models
# create your models here.
class crawlerconf(models.model):
'''爬蟲配置表
'''id = models.autofield(primary_key=true, unique=true, auto_created=true)
keyword = models.charfield(max_length=255, unique=true)
start_page = models.integerfield()
end_page = models.integerfield()
extra = models.textfield(null=true)
class crawlerres(models.model):
'''結果表
'''id = models.autofield(primary_key=true, unique=true, auto_created=true)
craw_id = models.integerfield(unique=true)
host_ip = models.charfield(max_length=255, unique=true)
belong = models.charfield(max_length=255, unique=true)
main_dns = models.charfield(max_length=255, unique=true)
link_dns = models.textfield(null=true)
extra = models.textfield(null=true)
class oprlog(models.model):
'''操作日誌
'''id = models.autofield(primary_key=true, unique=true, auto_created=true)
status = models.charfield(max_length=255, unique=true)
action = models.charfield(max_length=255, unique=true)
start_time = models.charfield(max_length=255, unique=true)
end_time = models.charfield(max_length=255, unique=true)
user_id = models.charfield(max_length=255, unique=true)
user_name = models.charfield(max_length=255, unique=true)
desc = models.charfield(max_length=255, unique=true)
extra = models.textfield(null=true)
然後執行如下命令,建立定義的表:
Python入門到逆襲2 利器篇
本章節主要來搭建後面學習和實操所需要的環境,雖然可以直接在華為雲 阿里雲上直接買個centos的虛擬機器直接使用就行了 並且成本也很低,幾毛錢一小時 但是多學習和了解 實練習一下也總是好的,在後面的工作中,也是一種優勢。這裡主要搭建centos系統作為開發環境,在工作中,從事後台開發工作的人員,雖然...
Python入門到逆襲1 簡介篇
該專欄以實操為主題,從環境安裝 在到基本語法的講解 高階用法的高階 到具體專案的實戰,再到具體編碼開發中的結合,前兩個章節介紹和工具安裝,中間3到5個章節簡介基本語法和高階語法,後面5到8個章節將apache django mysql redis快取 執行緒等具體專案開發。從環境安裝到工具使用,再到...
第13周專案1 (3)
檔名稱 test.cpp 版本 code blocks 問題描述 定義分數的一目運算 和 分別代表分數取正和求反,將 按位取反運算子 過載為分數的求倒數運算。輸入描述 程式輸出 include include using namespace std class cfraction void simp...