pip install Django //安裝django框架
Django項目就是一個機遇Django的web應用
Django應用就是一個可重用的python軟件包,不可以直接運行。一個應用可以被多個Django項目使用
一個Django項目包含一組配置和若干個Django應用
創建一個Django項目
django-admin startproject django_t1 //創建一個django項目
cd django_t1 //進入項目並啓動
python manage.py runserver
創建一個xxx的Django應用
python manage.py startapp xxx
django視圖學習
1)python manage.py startapp abc //在django_t1項目中創建一個abc的應用
打開abc應用的views.py視圖文件並輸入如下內容
from django.shortcuts import render
from django.http import HttpResponse
def hello(request):
return HttpResponse("hello world")
2)配置應用層路由
在abc應用下面創建一個urls.py應用層次的路由文件,並輸入如下代碼:
from django.urls import path,include
import blog.views
urlpatterns=[
path('hello',blog.views.hello)
]
3)配置項目層路由
打開項目路由urls.py,找到urlpatterns增加如下代碼:
path('blog/', include('blog.urls')),
4)打開項目配置文件settings.py,找到INSTALLED_APPS並追加如下代碼:
'blog.apps.BlogConfig',
模型層學習
1)打開abc應用裏的models.py並輸入如下代碼:
from django.db import models
class Article(models.Model):
#文章ID 設置主鍵並自增
article_id=models.AutoField(primary_key=True)
#文章標題
title=models.TextField()
#文章摘要
brief_content=models.TextField()
#文章內容
content=models.TextField()
#文章發佈日期 如果沒有指定這個內容則自動插入當前日期
publish_date=models.DateTimeField(auto_now=True)
2)執行如下兩條命令
python manage.py makemigrations //生成遷移文件
python manage.py migrate //將生成的遷移文件運行並導入到數據庫中
常用字段類型說明:
字段類型
AutoField:自動增長的IntegerField,通常不用指定,不指定時Django會自動創建屬性名爲id的自動增長屬性。
BooleanField:布爾字段,值爲True或False。
NullBooleanField:支持Null、True、False三種值。
CharField(max_length=字符長度):字符串。TextField:大文本字段,一般超過4000個字符時使用。
-- 參數max_length表示最大字符個數。
IntegerField:整數。
FloatField:浮點數
DecimalField(max_digits=None, decimal_places=None):十進制浮點數。
-- 參數max_digits表示總位數。
-- 參數decimal_places表示小數位數。
DateField[auto_now=False, auto_now_add=False]):日期。
-- 參數auto_now表示每次保存對象時,自動設置該字段爲當前時間,用於"最後一次修改"的時間戳,它總是使用當前日期,默認爲false。
-- 參數auto_now_add表示當對象第一次被創建時自動設置當前時間,用於創建的時間戳,它總是使用當前日期,默認爲false。
-- 參數auto_now_add和auto_now是相互排斥的,組合將會發生錯誤。
TimeField:時間,參數同DateField。
DateTimeField:日期時間,參數同DateField。
FileField:上傳文件字段。
ImageField:繼承於FileField,對上傳的內容進行校驗,確保是有效的圖片。
在實際開發中不會真的把文件或者圖片存到數據庫中,而是將文件或者圖片放在指定的目錄,數據庫中記錄文件的具體路徑。
Django shell
python shell 用於交互式的python編程
Django shell 集成Django項目的環境使用一些命令,一般用於臨時小範圍測試。但總是要寫代碼很繁瑣一般用django admin代替。
例如:進入Django shell並向某表中插入數據
python manage.py shell //進入Django shell模式,輸入如下代碼:
from blog.models import Article
a= Article()
a.title='this is title'
a.brief_content='aaaaaaaaaa'
a.content='bbbbbbbbbb'
print(a) #可以自己打印看戲下
a.save() #保存到數據庫裏面
#查詢上面插入是否成功
lists=Artile.objects.all()
getone=lists[0]
print(getone.title)
django admin模板:
後臺管理工具,讀取定義的模型數據,提供了強大的管理頁面。比django shell寫代碼操作方便很多
使用django admin模塊管理我們創建的Article模型:
1)python manage.py createsuperuser //創建一個管理員賬戶,輸入賬號,郵箱(可不寫),密碼
2)啓動項目並訪問admin模塊
python manage.py runserver
在瀏覽器輸入http://127.0.0.1:8000/admin/並輸入賬號密碼
如何將我們上面創建的Article模型導入到django admin後臺以便我們管理呢?
3)打開abc應用中的admin.py並輸入如下代碼:
from django.contrib import admin # Register your models here. from .models import Article admin.site.register(Article)
4)完成以上步驟在前臺http://127.0.0.1:8000/admin/刷新即可管理我們的Article了
5)默認我們定義的模型的數據在admin後臺列表顯示是這樣的,不能直觀的看出來:
Artile object (2)
Artile object (1)
解決這個問題我們修改abc的模型models.py追加如下代碼:
def __str__(self): return self.title