Djalgo基礎配置方法 |
靜態文件配置方法css
1 全部的靜態文件都放在 static 文件夾下,例如Bootstrap值類的第三方庫,一般 static 文件下會建立 css image js 文件,用於存放與前端相關的數據文件。前端
2 Django setting文件配置。python
# 靜態文件配置
STATIC_URL = '/static/' # 接口前綴,跟你的靜態文件夾名字沒有任何關係,默認狀況下這個前綴和靜態文件夾名字同樣。
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static') # 這裏的路徑就是你靜態文件夾的路徑
os.path.join(BASE_DIR,'static2') # 一般項目中會出現多個static文件夾,有些app也會有獨立的static文件夾。
前端請求會依次查找列表中全部的靜態文件路徑,找到則馬上中止,沒有則返回
404
]
在Pytham中連接MySQL數據庫的方法mysql
1 建立數據庫sql
2 修改配置文件數據庫
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 鍵必須是大寫 'NAME': 'day55', 'HOST':'127.0.0.1', 'PORT':3306, 'USER':'root', 'PASSWORD':'123' } }
3 告訴Django 用pymysql替換它默認的mysqldb模塊,連接數據庫。django
兩種方式:1 在項目文件夾下的__init__.py 或 直接在你應用文件夾下面的__init__.py安全
# 固定寫法服務器
inport pymysqlsession
pymysql.install_as_MySQLdb()
4 Django 中的ORM
什麼是orm?
對象關係映射
類 》》》 表
對象 》》》 表記錄
對象的屬性 》》》 一條記錄某個字段對應的值
注意:在Django中不能自動建立庫,可是能夠自動建立表,一個Django項目使用一個庫,不要多個Django項目共用一個庫。
5 數據庫同步
第一次連接數據庫/或後期對現有表的字段作更改操做,都必須執行數據同步命令!
同步命令:python3 manage.py makemigrations 將你的數據庫變更記錄到一個小本本上(並不會幫你建立表)
python3 manage.py migration 將數據庫變更正式同步到數據庫中
下方的session正式記錄用戶登錄狀態的文件
使用Django ORM操做數據庫數據 |
新增數據
兩種方式: 第一種方式
1 user_obj=model.User.object.create(name=username,password=password)
第二種方式
2 user_obj=model.User(name=username,password=password)
user_obj.save()
查詢數據
user_list = models.User.objects.all() # 獲取user表全部的數據
# 只要是QuerySet就能夠點query查看獲取到當前QuerySet對象的內部sql語句
print(user_list.query)
查詢數據的時候注意獲取的對象是一個queryset對象仍是以一個數據對象
user_query=models.User.objects.filter(id=edit_id).first # 使用first取出的就是一個數據對象了。
# 當filter當匹配的條件不存在的時候,返回一個空的queryset對象。
<QuerySet []> <class 'django.db.models.query.QuerySet'>
user_obj = models.User.objects.get(id=edit_id) # 用get能夠直接獲取到數據對象自己可是查詢條件不 存在的狀況下直接報錯
刪除數據
models.User.objects.filter(id=1).delete() # 會將queryset全部的數據對象所有刪除
研究GET 與POST請求的差異
GET是請求,若是請求類型是GET,說明用戶只想獲取某項資源,因此咱們將用戶須要的資源響應給他就好。
POST是提交,若是是POST請求,說明用戶須要向服務器提交數據,服務器就要準備接收用戶提交的數據,此時POST模式和GET模式均可以傳輸用戶的數據,可是區別在於,POST更安全,因此此時應該選擇POST。在一些不須要考慮數據安全的狀況下可使用GET模式傳輸數據。例如獲取用戶ID時。
requeset.method 能夠拿到兩種請求方式,可使用 request.POST / request.GET 的方式分別獲取到請求數據的結果,數據形式是一個字典,該字典是 QueryDict 類型,能夠經過對象點方法取獲取到相應的value,也可使用get()方法取值。
若是從前端提交的數據,在同一個key裏包含多個值的狀況(< QueryDict: {'username': ['jason',‘egon’], 'password': ['123']} >),須要使用getlist()方法才能取出所有的結果,若是是使用get()方法只能取到最後一個value。
注意POST是提交數據,在HTML中只有 form表單中的 submit 和 botton 是有提交數據效果的。
經過Django 生成圖書管理系統表 |
Web框架實現的最基礎的流程圖