1. 程式人生 > >[旅遊網站]設計實現

[旅遊網站]設計實現

模板引擎 北京 png 聯系 郵箱驗證 net 程序 永遠 所有

前面隨筆中提到了我要用flask技術實現一個旅遊類web程序,基本需求如下:(從學校的軟件課設要求中摘錄的)

旅遊自助系統功能
1.旅遊局維護景點的信息:景點位置、遊覽項目及價格、景點介紹、開放時間等
2.每個旅遊公司維護本公司開設的旅遊線路服務信息:景點名稱、餐飲、住宿、交通、遊覽時間、價格、聯系方式等
3.對各種信息的維護包括增加、查詢和刪除
4.旅遊者可以查詢景點信息
5.旅遊者可以查詢旅遊公司提供的旅遊線路信息
6.旅遊者可以自定義查詢條件進行查詢,系統返回符合條件的所有旅遊公司線路服務信息:定義自己的時間安排、旅遊費用預算、主要的旅遊景點意向
7.旅遊者可以通過本系統向特定旅遊公司提出旅遊線路服務的預約,返回預約是否成功的結果。系統根據該旅遊公司的旅遊線路服務能力(每團的人數限制)進行預約處理?


8.旅遊公司可以查詢本公司各線路服務的預約情況以及預約客戶的信息
9.旅遊局可以按照景點查詢旅遊線路服務預約中包含該景點的預約數量以及預約遊覽的日期
10.軟件用戶均可以將查詢結果打印為報表保存
11.支持用戶通過Internet訪問該網站

技術分享

從數據流來看,整體設計考慮三部分信息:用戶信息、景點信息、線路信息。實現這三個類的屬性和方法,再逐步擴展,大部分需求都是對數據的增刪改查,在Flask Web框架中使用sqlalchemy數據庫框架實現非常容易,代碼精簡,邏輯清晰。

解決了數據庫操作就要在頁面中把數據結構化的表示出來,Flask使用jinja2模板引擎,可以快速把前後端結合起來,後端寫好業務邏輯,再在模板中寫一點點HTML就可以看到整體效果,如果覺得展示效果不好,還可以用Flask-BootStrap框架輕松解決樣式。

對於課程設計來講重點放在後端邏輯實現上,前端知識用多少學多少即可。

參考書:

1.基於Flask的Web應用開發實戰,書中很多功能和實現細節都是我們可以借鑒的,比如郵箱驗證、賬戶權限管理等

2.HTML5+CSS3基礎教程,兩三天時間看了11章,後面是用哪塊就學哪塊,當成工具書來用

3.Javascript基礎教程,正在學習,將來做一些高級的交互頁面肯定會用到

以下是廢話

個人感受其實在學校(本科)上了這麽多專業課,學的連皮毛都算不上,沒有哪些知識是可以拿出來就用的(考試除外),但有了這些基礎的知識(或者說是學習方法)的積累,再去學新的技術,新的框架,新的語言,就不會覺得無從下手了。

這次新接觸Python,看完概念一兩天就可以上手做點東西了,用兩三個星期之後就熟練了。還新接觸了HTML/CSS,學習方法是類似的,而新知識新技術是永遠也學不完的,個人拙見在軟件行業不被淘汰的本質就是程序員擁有快速掌握新技術的能力,這種能力一定是在各種大型項目、實際商業環境中訓練出來的,再經過重新的學習和反思,提煉成為經驗。那些十年以上的老程序員們也許他們遇到了好的時代,無論怎麽說,持續的學習和經驗積累是必須的。我個人也是放棄了考研,選擇到公司裏做事,還是希望能提高這方面的能力。當然這也不是什麽決定生死的選擇,去工作不代表不讀書,讀書也不代表就沒有項目經驗,個人選擇是一方面,時代環境也是一方面,互聯網行業多麽有活力,大大小小的公司在北京“你死我活”,一想到一年後我能參與到其中,無論公司大小,項目大小,待遇高低,我都會全力以赴,持續學習,終生學習。

[旅遊網站]設計實現