Python入門到逆襲13 專案篇 web專案2

2021-10-20 15:27:11 字數 3785 閱讀 9249

外層的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...