django學習過程中知識點小結
創建項目:django-admin startproject mysite
該命令將會創建一個名為mysite的項目。
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
manage.py:一個實用的命令行,用來與你的項目進行交互。它是一個對django-admin.py工具的簡單封裝。你不需要編輯這個文件。
- mysite/:你的項目目錄,由以下的文件組成:
- init.py:一個空文件用來告訴Python這個mysite
- settings.py:你的項目的設置和配置。裏面包含一些初始化的設置。
- urls.py:你的URL模式存放的地方。這裏定義的每一個URL都映射一個視圖(view)。
- wsgi.py:配置你的項目運行如同一個WSGI應用。
默認生成的settings.py文件包含一個使用一個SQLite數據庫的基礎配置以及一個Django應用列表,這些應用會默認添加到你的項目中。我們需要為這些初始應用在數據庫中創建表。
運行開發服務器
python manage.py runserver
在瀏覽器中打開 http://127.0.0.1:8000/ ,你會看到一個告訴你項目成功運行的頁面
你可以指定Django在定制的host和端口上運行開發服務,或者告訴它你想要運行你的項目通過讀取一個不同的配置文件。例如:你可以運行以下 manage.py命令:
python manage.py runserver 127.0.0.1:8001 --settings=mysite.settings
創建一個應用
python manage.py startapp blog
設計blog數據架構
我們將要開始為你的blog設計初始的數據模型(models)。一個模型(model)就是一個Python類,該類繼承了django.db.models.model,在其中的每一個屬性表示一個數據庫字段。Django將會為models.py
激活你的應用
為了讓Django能保持跟蹤你的應用並且根據你的應用中的模型(models)來創建數據庫表,我們必須激活你的應用。因此,編輯settings.py文件,在INSTALLED_APPS設置中添加blog。
INSTALLED_APPS = ( ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘blog‘, )
創建和進行數據庫遷移
python manage.py makemigrations blog
python manage.py migrate
為模型(models)創建一個管理站點
python manage.py createsuperuser
Username (leave blank to use ‘admin‘): admin Email address: [email protected] Password: ******** Password (again): ******** Superuser created successfully.
Django管理站點
通過python manage.py runserver
命令來啟動開發服務器,之後在瀏覽器中打開 http://127.0.0.1:8000/admin/ 。你會看到管理站點的登錄頁面.
在管理站點中添加你的模型(models)
讓我們在管理站點中添加你的blog模型(models)。編輯blog應用下的admin.py文件,
from django.contrib import admin from .models import Post admin.site.register(Post)
定制models的展示形式
使用查詢集(QuerySet)和管理器(managers)
創建對象
更新對象
取回對象
使用filter()方法
使用exclude()
使用order_by()
刪除對象
創建model manager(定制版)
構建列和詳情視圖(views)
首先我們會創建我們的應用視圖(views),然後我們將會為每個視圖(view)定義一個URL模式,我們將會創建HTML模板(templates)來渲染這些視圖(views)生成的數據。每一個視圖(view)都會渲染模板(template)傳遞變量給它然後會返回一個經過渲染輸出的HTTP響應。
為你的視圖(views)添加URL模式
為你的視圖(views)創建模板(templates)
添加頁碼
當你開始給你的blog添加內容,你很快會意識到你需要將帖子分頁顯示。Django有一個內置的Paginator類允許你方便的管理分頁。
使用基於類的視圖(views)
django學習過程中知識點小結