不用Excel,如何制作一個自動更新的銷售報表?(含銷售報表模版)
828
2025-03-31
橡皮擦,一個逗趣的互聯(lián)網(wǎng)高級網(wǎng)蟲。新的系列,讓我們一起進入 Django 世界。
已經(jīng)完成的文章
滾雪球?qū)W Python 第三輪,Python Web 之 Django 的世界
小手哆嗦一下,就能用 Python Django 實現(xiàn)一個微型博客系統(tǒng)
Django 做個小后臺,細節(jié)在完善一點點,滾雪球?qū)W Python 第三階段
Django QuerySet 就學(xué)那么一點點,一點點就夠了
看完這篇博客,Python Django 你就學(xué)會一半了
讓我們一起開發(fā)【菜譜系統(tǒng)】吧,滾雪球?qū)W Python 第三輪項目計劃
出現(xiàn)吧,Python Web 菜譜系統(tǒng)的首頁,不會前端技術(shù),也能做
簡簡單單實現(xiàn) Python Web 的登錄注冊頁面,還包含一半邏輯。
Python Web 菜譜項目再次前進一步,從應(yīng)用層了解內(nèi)置用戶認證系統(tǒng)
菜譜系統(tǒng)小成階段,Python Web 領(lǐng)域終于攻占一個小山頭
滾雪球?qū)W Python 第三輪
已經(jīng)完成的文章
十一、Django 銷售打分系統(tǒng)
11.1 復(fù)盤 Django
11.2 小姐姐打分系統(tǒng)框架初見
11.3 串聯(lián)第一個頁面
11.4 初始化數(shù)據(jù)庫
11.5 本篇博客小節(jié)
十一、Django 銷售打分系統(tǒng)
這是一個嶄新的創(chuàng)造項目,項目的需求是這樣的,每次售樓的小姐姐打完電話之后,都可以給被打電話的人,打個分數(shù)標記一下。這是一波滿分的反向操作,銷售給客戶打分。
需求來了之后,剩下的咱就把它實現(xiàn)了。采用的技術(shù)依舊是 Django。
11.1 復(fù)盤 Django
滾雪球?qū)W Python 第三輪已經(jīng)整理了 10 篇文章,相信你對 Django 已經(jīng)有了整體的認知,這次滾雪球預(yù)計滾 21 篇博客,形成已經(jīng)過半啦。
Django 是基于 Python 語言的 Web 框架,基于 BSD 協(xié)議,完全開源,github 地址:https://github.com/django/django,官網(wǎng)地址:https://www.djangoproject.com/,這些都要牢記于心。
對于版本官方詳細的解釋在該地址:https://www.djangoproject.com/download/
Django is available open-source under the BSD license. We recommend using the latest version of Python 3. The last version to support Python 2.7 is Django 1.11 LTS. See the FAQ for the Python versions supported by each version of Django. Here’s how to get it:
如果希望獲得長期支持版本,選擇版本號后面帶 LTS 的版本即可。目前長期支持的版本是 3.2 版本。
在之前的博客中你已經(jīng)可以運行起來一個 Django 站點了,但是對于底層的協(xié)議,我們沒有過多的涉及,其實這些工作都是 WSGI 接口實現(xiàn)的,我們也可以自行實現(xiàn)該功能,也就是手動編寫一個 Web 框架,創(chuàng)建一個 Python 文件,寫入如下代碼:
from wsgiref.util import setup_testing_defaults from wsgiref.simple_server import make_server def my_server(environ, start_response): setup_testing_defaults(environ=environ) status = "200 OK" headers = [("Content-type", "text/html;charset=utf-8")] start_response(status, headers) url = environ["PATH_INFO"] response = "" if url == "/home": response = "首頁" elif url == "/about": response = "關(guān)于頁" else: response = "訪問地址不正確" return [response.encode("utf-8")] if __name__ == '__main__': httpd = make_server("", 8000, my_server) httpd.serve_forever()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
編譯代碼之后,就會在本地構(gòu)建出一個小型的服務(wù)器,此時在瀏覽器訪問 http://127.0.0.1:8000/home 就可以獲得返回的數(shù)據(jù)內(nèi)容了。Django 也是基于上述幾行簡單的代碼,實現(xiàn)的一個重量級 Web 框架。
再見 Django 的 MVT 模式框架
該模式是 Django 框架的基礎(chǔ)模式,核心是下述內(nèi)容:
Model:對象關(guān)系映射;
View:業(yè)務(wù)邏輯,串聯(lián) Model 與 Template;
Template:展示數(shù)據(jù)。
11.2 小姐姐打分系統(tǒng)框架初見
創(chuàng)建一個 Django 項目,咱們已經(jīng)輕車熟路了,使用下述命令:
django-admin startproject cutegirl
1
創(chuàng)建完畢之后,通過 cd cutegirl 進入目錄,然后通過 python manage.py runserver 運行項目。
這里要補充一個知識是:
cutegirl>python manage.py runserver Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes , sessions. Run 'python manage.py migrate' to apply them.
1
2
3
4
5
6
7
8
9
上述內(nèi)容中,存在一個提示 You have 18 unapplied migration(s),暫時忽略該提示即可,當然提示下面也給出了解決辦法,就是使用 python manage.py migrate 去同步數(shù)據(jù)庫信息。
在 cutegirl 目錄中,創(chuàng)建 scoring 應(yīng)用,命令如下:
python manage.py startapp scoring
1
整體運行完畢,打分系統(tǒng)的基礎(chǔ)框架已經(jīng)構(gòu)建完畢了,目錄結(jié)構(gòu)如下圖所示:
11.3 串聯(lián)第一個頁面
目錄結(jié)構(gòu)搭建完畢之后,就可以進入到 Django 的編碼環(huán)節(jié)中了,首先從 MVT 中的 V 開始,因為它起到了連接的作用。
修改 scoring/views.py 文件代碼:
from django.http import HttpResponse # 打分系統(tǒng)首頁 def index(request): return HttpResponse("小姐姐打分系統(tǒng)")
1
2
3
4
5
在 scoring 文件夾中創(chuàng)建 urls.py 文件,并編寫代碼如下:
from django.urls import path from . import views urlpatterns = [ path("", views.index, name="index") ]
1
2
3
4
5
6
同步修改 cutegirl/urls.py 文件代碼:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path("scoring/", include("scoring.urls")), path('admin/', admin.site.urls), ]
1
2
3
4
5
6
7
基礎(chǔ)配置完畢,打分系統(tǒng)的第一個頁面已經(jīng)可以預(yù)覽了,訪問地址為:http://127.0.0.1:8000/scoring/。
11.4 初始化數(shù)據(jù)庫
接下來解決剛才遺留的一個問題,每次運行 python manage.py runserver 都會提示錯誤的問題。
在 cutegirl 文件夾中使用如下命令即可。
cutegirl>python manage.py migrate
1
默認生成的數(shù)據(jù)表是依據(jù) setting.py 中下述配置進行生成的:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles' ]
1
2
3
4
5
6
7
8
具體說明如下:
django.contrib.admin:管理員數(shù)據(jù);
django.contrib.auth:認證授權(quán)數(shù)據(jù);
django.contrib.contenttypes:內(nèi)容類型框架;
django.contrib.sessions:Session 會話;
django.contrib.messages:消息框架;
django.contrib.staticfiles:靜態(tài)文件。
此時使用 Sqlite3 數(shù)據(jù)庫查看工具,即可查看生成的數(shù)據(jù)表。
11.5 本篇博客小節(jié)
本篇博客開始,我們將再次學(xué)習(xí)到一個新的 Django 項目,并且這個項目是橡皮擦無中生有的一個趣味項目,大家一起學(xué)起來吧
相關(guān)閱讀
Python 爬蟲 100 例教程,超棒的爬蟲教程,立即訂閱吧
Python 游戲世界(更新中,目標文章數(shù) 50+,現(xiàn)在訂閱,都是老粉)
Python 爬蟲小課,精彩 9 講
今天是持續(xù)寫作的第
129
/ 200 天。
如果你想跟博主建立親密關(guān)系,可以關(guān)注同名公眾號
夢想橡皮擦
,近距離接觸一個逗趣的互聯(lián)網(wǎng)高級網(wǎng)蟲。
博主 ID:夢想橡皮擦,希望大家
、
評論
、
。
Django Python 數(shù)據(jù)庫
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。