Django寫的博客工具?
想問問有哪些用 Django 寫的博客工具,代碼可讀性比較強,功能也比較強的。
學完 python 想學 django,正好我最近組織了一個 django 新人學習小組,並開始一邊學習一邊做項目實踐。正好目前進行到第一周,小組正在做一個 Blog 程序,雖然簡單,但是足以帶你進入 django 開發的大門,歡迎 follow 我們,並期待您的建議和意見。簡單介紹一下小組的運作模式:我們在每個周末會開一個小組討論會,討論下一周的開發內容,每個人根據其分配的任務去學習相應的文檔。但是不僅僅是做完自己的工作就完事了,每個人在學習的過程中還要把自己學的東西講給全小組的人聽(主要是寫成一份和自己工作相關的文檔),讓其他的組員都明白你做了什麼,這樣你不僅學到了自己該學的,也學到了其他組員學到的東西。
目前我們正在進行第一周的項目,第一周的學習文檔已經出來了,發布在簡書上:Django學習小組出品:一起來做一個簡單的Blog第一周文檔(教程)。我把摘要部分貼出來,感興趣的朋友可以去簡書上閱讀原文。
此外歡迎關注我們的github組織https://github.com/djangoStudyTeam/DjangoBlog,所有項目的相關源代碼都會上傳到 github 上。每周更新,但是代碼量不大,確保在新人的接受範圍內,這樣可以讓新手完全跟上我們的學習和開發進度。第一周文檔的摘要:這一周我們小組完成了 Blog 首頁的搭建。本節是 django blog 項目的開篇,是 django 學習小組的集體學習成果。django學習小組是由我發起的一個促進 django 新手互相學習、互相幫助的組織。小組在一邊學習 django 的同時將一起完成三個項目:
- 一個簡單django blog,用於發布小組每周的學習和開發文檔
- django中國社區,為國內的 django 開發者們提供一個長期維護的 django 社區,聚集全國的 django 開發者到這個社區上來
- django 問答社區, 類似於segmentfault 和 stackoverflow但更加專註(只專註於 django 開發的問題)的問答社區
目前小組正在完成第一個項目,本文即是該項目第一周的相關文檔。
更多的信息請關注我們的 https://github.com/djangoStudyTeam/DjangoBlog,本教程項目的相關源代碼也已上傳到 github 上。
同時,你也可以加入我們的郵件列表 django_study@groups.163.com ,隨時關注我們的動態,我們會將每周的詳細開發文檔和代碼通過郵件列表發出。如有任何建議,歡迎提 Issue,歡迎fork,pull request,當然也別忘了 Starred 哦!每周更新,敬請關注
——by Django 學習小組,期待您的建議和意見
前幾天剛是社群的小夥伴寫了個博客,Django寫博客是很多學習Python人必經之路,今天我特別整理了一個建博客實錄出來希望可以是Django學習之路的一個好啟發,希望對大家有幫助。
——————————
1.django簡介
Django是一個開放源代碼的Web應用框架,由Python寫成。採用了MVC的框架模式,即模型M,視圖V和控制器C。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟體。並於2005年7月在BSD許可證下發布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。
Django是一個基於MVC構造的框架。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。
Django適合快速開發web開發。
1.1Django的結構模型
1.2Django相關依賴的環境和安裝
1.準備一個linux的虛擬機
2.安裝一個pyenv:具體安裝的方法看這裡
http://www.yulongjun.com/python/20170507-02-pyenv-centos/
3.通過pyenv 安裝一個python3.6.2
pyenv install 3.6.2
4.使用pip安裝:
pip install django==1.11
pip install mysqlclient
5.安裝mysql資料庫
1.3Django的簡單配置
新建一個項目:
django-admin startproject blog
在項目裡面新建一個app和相關的模版靜態文件:
cd blog
python manage.py startapp ariclte
mkdir templates
mkdir static
mkdir media
配置相關的設置
cd blog
vim settings.py
vim urls.py
settings.py配置
urls.py配置
2Django操作資料庫
2.1Django裡面主要使用orm來操作資料庫
我們來看下什麼是orm
使用orm有什麼好處
Dajngo的orm-model
1.什麼是ORM?
ORM,即Object-Relational Mapping(對象關係映射),它的作用是在關係型資料庫和業務實體對象之間作一個映射,這樣,我們在具體的操作業務對象的時候,就不需要再去和複雜的SQL語句打交道,只需簡單的操作對象的屬性和方法。
2.ORM的優缺點是什麼?
優點:擺脫複雜的SQL操作,適應快速開發;讓數據結構變得簡潔;資料庫遷移成本更低(如從mysql-&>oracle)
缺點:性能較差、不適用於大型應用;複雜的SQL操作還需通過SQL語句實現
2.2Blog的數據結構
blog的常用的數據結構:
文章,分類,評論,註冊
一般來說一個blog至少包含這4個表
我們今天只寫文章表和分類表
大家可以先自己想下:
文章表和分類表包含的欄位是哪些?
文章和分類是什麼關係?
文章和用戶又是什麼關係?
表之間是否需要外鍵進行關聯?
表之間的關係:
一個用戶可以發表多篇文章
一個分類裡面也多篇文章
分類和用戶沒有直接的關係
理清這些之後,現在開始編寫對應的model模型
2.3編寫models.py
2.4創建和同步資料庫
3.Admin
3.1 admin
1.django自帶一個admin的後台,只需要簡單的配置就能讓我們快速的使用,這是django的一個強大之處。
2.配置admin.py之前,需要先了解一下admin的用法
需要繼承admin.ModelAdmin
list_display:admin 後台顯示的欄位
search_fields:admin 後台查詢的欄位
fields:允許修改的欄位
actions: 禁用的操作
admin.site.register: 關聯model和admin
3.2 編寫admin
4.djangod的視圖
4.1Django的視圖
Django有很多的優秀的視圖:
View
DetailView
ListView
FormView
CreateView
DeleteView
UpdateView
我們的blog裡面暫時只用到了ListView和DetailView
4.2使用dajngo自帶的ListView
? 編寫app的views.py
4.3用django自帶的DetailView
4.4配置app的urls.py
4.5 啟用django
訪問admin後台
填充相關的信息
5.配置相關的模板
5.1配置app的模板
1.把模板的index.html 放到templates裡面
2.模板的css,js,images,fonts,kindeditor放到static裡面
3.模版聲明:此模版來自http://www.lushaozhen.com/
5.2模版繼承-base.html
1.首先新建一個base.html
聲明模版
第一行:{% load staticfiles %}
2.block
母版html中將一些需要替換的部分用{% block xxx %}。。。{% endblock %}括起來
模版繼承-index.html
模版繼承-detail.html
5.3前端展示-列表頁面
5.4前端展示-詳情頁
好了,以上為60分鐘建立一個個人博客的全部流程,希望大家玩得爽。
最後把辛苦的作者小智老師介紹下,馬哥教育Python自動化實戰師傅,原百度時代有限公司福州研發分公司移動雲事業部高級運維開發工程師,現福建某文化發展有限公司技術經理,從事4年的python開發和pythonweb開發,擅長團隊協作,性格開朗,愛分享。
原文地址:十分鐘學會用Django快速搭建一個blog
————————
歡迎大家指正和補充。
你想更深入了解學習Python知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:
【超全整理】《Python自動化全能開發從入門到精通》筆記全放送
the5fire/django_selfblog · GitHub推薦理由:1.基於 CBVs (Class-based views),很有參考價值 2.作者代碼寫的質量還好3.後台用xadmin,用middleware處理在線人數,頁面緩存,算是功能比較全-1.作者中國人,遇到不懂的比較好請教。:)逃-----日後再推薦更多的
自己搭建的一個電影信息網站,開始主要是為了方便自己找到好看的電影(今天上線了電影節的分類)和學django來著,首先是爬取電影的信息,然後在網站上顯示出來,主要包括:1.電影的展示,這是重點,篩選,搜索;2.電影問題,就是求種子的那種問答;3.在線聊天功能,這個沒有完善好,只能在線聊天;4.用戶基礎信息的管理,登錄註冊等;演示地址:http://121.42.156.185:8000/getmovielist/(域名沒有備案哎。。將就將就吧,大概3w多電影,可播放的16000左右)github地址:https://github.com/pureYun/dnomovie保持每周至少增加兩個功能的節奏.在校生,主要是為了學習。。前端渣下一步主要做定時任務爬取和關注用戶,加好友的功能。。。歡迎監督
Django本身就可以了,為什麼還要工具。
這是我前兩天用django搞的一個博客 Memory amp; Write
這是源碼地址:jhao104/django-blog
隨手截幾張圖:
推薦你讀django.by.example這本書,其中包含比較實用的個人博客項目,社交網站項目,網上商城項目。每一個項目都有詳細的介紹,非常容易理解,跟著上手操作一遍對學習django開發很有幫助。這本書是英文版的,不過也很好理解,覺得麻煩的話我最近正在翻譯這本書,已經翻譯好的內容可以到這裡看:Django.by.Example譯文
我也用django開發了一個可以實時推送人人都是產品經理,虎嗅,果殼等60+IT網站最新資訊的訂閱網站,裡面還包含我的個人博客。網站地址:清心-LandsBlogGithub地址:GitHub - NoharaHiroshi/LandsBlog: RssBlog——Django項目歡迎交流~網站首頁:訂閱站點:首先不得不說Django真的是一個很強大的web框架,這兩天手擼了一個博客,一部分參考了django-by-example前3章 ,前端部分參考了 github上很火的一個主題,後端純django實現,最後效果還算滿意,附上地址:飛機送你到我博客! GIthub地址:歡迎Fork~
再隨手附上幾張截圖:
- 首頁
- 歸檔
- 標籤
- 搜索
- 響應式設計
介紹完了,自己折騰真是一件愉悅的事,尤其是集成algolia搜索,國內找不到什麼文檔,靠看官方文檔硬啃了下來,簡直美滋滋~
我用django搭了一個博客 http://www.wmlanding.com 。
之前只是自學過一點python,基本上是先想到希望做成什麼樣,再去查資料如何實現。邊學邊做折騰出來。
怎麼把資料庫裡面 通過多對多關係,外鍵關係得到的數據顯示出來呢?這些信息在資料庫里是通過ID來顯示的啊!求助,謝謝
推薦閱讀:
※為什麼 Python 裡面的 range 不包含上界?
※CPython是什麼?PyPy是什麼?Python和這兩個東西有什麼關係呢?Python的底層使用什麼語言實現?學習Python需要學習底層實現嗎?
※如何理解 Tornado ?
※如何快速學會一個web框架?
※如何開發一個Python web框架?