距離上次寫文章已經(jīng)過去了快一個月腕巡, 在這一個月里學(xué)了很多東西陡叠,在這里理理思路方便后面的學(xué)習(xí)。
首先是開始使用阿里云肾请,安裝并使用Linux系統(tǒng),包括簡單的指令操作(cd, ls, pwd, ifconfig, ping, poweroff, halt, shutdown, reboot, date, cal等等)更胖,第二是Linux的文件操作和編輯铛铁,軟硬鏈接等等,壓縮和解壓縮却妨,服務(wù)和進(jìn)程饵逐,軟件的安裝(包管理工具安裝,源碼構(gòu)建安裝編譯運(yùn)行彪标,配置環(huán)境變量后運(yùn)行和直接運(yùn)行)倍权,shell的編碼。
其次是ftp和Nginx的服務(wù)搭建捞烟,能夠通過Nginx訪問薄声。
最后是Django的使用。包括MVC,MTV模式的理解和使用题画,MTV工作的方式奸柬,ORM的理解和使用,view配置婴程,獲取參數(shù)廓奕,url反向解析,請求和響應(yīng)档叔,cookie和session桌粉。Template是包括處理過程,變量衙四,標(biāo)簽铃肯,過濾器,繼承等传蹈。高級控件是包括靜態(tài)資源的配置押逼,面向切面編程AOP,圖片上傳惦界,分頁加載挑格,最后做了一個簡易版小型移動電商平臺的開發(fā)。
總結(jié)一下這段時(shí)間沾歪,學(xué)的還是比較吃力漂彤,有很多含糊的地方。對于一個完全沒有基礎(chǔ)的小白來說這是難以避免的,如果你和我是同樣的情況挫望,我想對咱們說:親愛的立润,不要慌張,學(xué)習(xí)是有一個過程的媳板,有量變到質(zhì)變的積累桑腮,也有理論到實(shí)踐的升華,有經(jīng)驗(yàn)到知識的總結(jié)蛉幸,也有時(shí)間的魔法破讨。所以我們應(yīng)該做的是沉下心來,先做巨缘,遇到問題一個個處理添忘,在處理的過程中不斷提升。雖然這看上去是一個笨辦法但這對大多數(shù)人來講是唯一的辦法若锁。因?yàn)槲覀儫o法做到在理論學(xué)習(xí)之后就能應(yīng)用自如搁骑,也無法做到大量的觸類旁通,所以我們只能一點(diǎn)一點(diǎn)的攻破一點(diǎn)一點(diǎn)的啃又固。其實(shí)這也是對所有人最佳的學(xué)習(xí)方式仲器。(ps:終于感受到了經(jīng)驗(yàn)的力量)
最后:附一點(diǎn)總結(jié)的資料和一個完整的簡易版購物車項(xiàng)目的流程
1????????新建項(xiàng)?目?應(yīng)用?
2????????init?
3????????settings?
4數(shù)據(jù)庫?
5????????啟動mysql服務(wù)器?
6????????創(chuàng)建一個數(shù)據(jù)庫?
7把數(shù)據(jù)庫?
8放到內(nèi)?
9網(wǎng),不讓?
10公網(wǎng)能夠?
11訪問?
12????更改數(shù)據(jù)庫配置?
13????配靜態(tài)資源?
14更改時(shí)區(qū)和語言?
15制作購物車和首頁的網(wǎng)頁?
16給各個網(wǎng)頁配url?
17在控制器寫函數(shù)?(index,add_to_cart,show_cart)?
18定義模型:商品?
19遷移數(shù)據(jù)?
20查看表已經(jīng)存在?
21添加sql語句插入數(shù)據(jù)?
22確認(rèn)數(shù)據(jù)已經(jīng)存在?
23??????配置admin?
24注冊商品模型和自定義顯示函數(shù)?
25設(shè)定顯示內(nèi)容?
26查詢范圍設(shè)定?
27??????創(chuàng)建超級管理員賬號?
28名字?
29郵箱?
30密碼?
31??????啟動服務(wù)器登錄查看?
32??????python?manage.py?runserver?
33模型是否可以看到?
34????制作首頁?直接查看所有商品?
35渲染商品頁?
36拿到一個所有商品的列表?
37傳遞一個商品列表?
38????查看首頁?
39把商品加到購物車?yán)锩?
40??????再定義一個類仰冠,購物車項(xiàng)乏冀,增加數(shù)量,小計(jì)?
41定義CartItem類?
42初始化方法洋只,索引辆沦,對應(yīng)的商品,數(shù)量?
43給購物車項(xiàng)封裝屬性total?(小計(jì))?
44因?yàn)樯唐窙]有數(shù)量的屬性识虚,要定義一個購物車項(xiàng)肢扯,得到商品的數(shù)量,和先后順序?
45??????定義購物車類??????(如果是要持久化就要定義模型担锤,不持久化定義類就可以了)?
46定義ShoppingCart類?
47第一商品叫0號蔚晨,疊加?
48items就是裝購物車項(xiàng)的對象?
49定義購物車的方法?
50添加?
51刪除?
52清空?
53數(shù)量歸零?
54列表容器清空?
55?????添加項(xiàng)?
56如果之前已經(jīng)有的只加數(shù)量?
57新項(xiàng)才加進(jìn)去?
58循環(huán)判斷有沒有這個商品?
59如果之前已經(jīng)有的只加數(shù)量?
60如果加進(jìn)來的id跟我的購物車id相同說明是同一個商品?
61商品數(shù)量+=傳進(jìn)來的數(shù)量?
62循環(huán)結(jié)束?
63沒有這個商品就追加這個商品項(xiàng)?
64改造?
65把列表改造成字典?
66看下字典里面有沒有這個鍵?
67如果在用鍵取值,取到商品項(xiàng)后加上數(shù)量?
68否則就去這個字典里面追加鍵?
69把item作為值放進(jìn)去?
70?????移除和清空傳商品的id進(jìn)來?
71判斷如果字典里面有這個id?
72移除這個鍵?
73清空?
74id是保留字肛循,所以不要用id铭腕,或者不用這個內(nèi)置函數(shù),這個里面不用?
75??????添加到購物車?
76通過id取到這個商品多糠,拿到商品對象?
77拿購物車:通過請求拿session累舷,從session里面get購物車,如果沒有就新創(chuàng)建一個?
78創(chuàng)建一個購物車項(xiàng)?(購物車?yán)锏膎um屬性作為no熬丧,商品)?
79把購物車項(xiàng)加到購物車?yán)?
80重新給購物車賦值?
81還是回到查看商品的頁面:重定向?
82另一種寫法?
83????顯示購物車:把購物車取出來傳過去?
84購物車頁面需要商品項(xiàng)笋粟,?
85拿到購物車怀挠,?
86里面有一個屬性叫items取所有的值析蝴,是一個列表害捕,排序,鍵是no?
87如果不為空闷畸,我就取items尝盼,如果為空就返回空列表?
88渲染頁面,請求取到頁面佑菩,傳遞的內(nèi)容是就是剛才取到的購物車項(xiàng)?
89?????包裝總計(jì)屬性?
90包裝總計(jì)屬性?
91添加購物車頁面的總計(jì)?
92最后的寫法:?
93??????序列化的處理?
94??????序列化器?
95配一個SESSION_SERIALIZER,用serializers????sessions?
96debug問題?
97???????修改?
98改進(jìn)?
99返回一個列表盾沫,?
100返回一個cart?
101繼承models里面的Model?
102設(shè)置id,自動殿漠,主鍵赴精,別名gid?
103商品名稱,字符串绞幌,最大長度50蕾哟,別名gn?
104商品價(jià)格,小數(shù)莲蜘,最多10位谭确,小數(shù)點(diǎn)后兩位,別名gprice?
105商品圖片票渠,存路徑逐哈,最大長度255,別名?
106指定表的名字问顷,tb_goods?
107升序排列?
108類就可以了)?
109????????????????????????????所有的不寫下劃線?
110每次加完后num要加1昂秃,否則就沒有先后順序了?
111放東西進(jìn)去?