1. 程式人生 > 實用技巧 >第十九章 通過專案學django

第十九章 通過專案學django

*.根據上一章提供的專案 目前我們需要完成以下功能

views:
獲取請求資料 -講了url裡面的引數如何獲取
models:
多表操作
外來鍵 1對多的關係 --講完了
多對多的關係
其他的操作(如執行原始的sql語句)

urls:
如何把url配置到子專案裡面
templates:
模板語法:
定義變數
判斷
settings:
上下文管理器
中介軟體
資料庫配置-mysql
redis配置
1.獲取請求引數
分析連結訪問url中帶有相關引數如:.../python 按照正常邏輯先view 然後對映通過url 如下:

def category(request,id):     #通過請求中的id關聯
category_obj = models.Category.objects.get(id=id) #獲取資料庫中id的物件
articles = models.Article.objects.filter(category=category_obj) #通過物件獲取文章
return render(request,'category.html',{'articles':articles,'category_obj':category_obj}) #結果返回html 及需要引用的變數

和在html的django語句

同時在url中配置相應的連線


urlpatterns = [
path('admin/', admin.site.urls),
path('index', views.user_info),
path('welcome', views.welcome),
path('',views.index ),
path('category/<int:id>',views.category ), #其中id的傳參注意這樣格式 這裡id名稱與view中的(requst,id)中的引數名稱保持一致
path('post',views.article ),
]

如何想使用str表達如下操作

同時

path('category/<int:id>',views.category ), 變更為
path('category/<str:uri>',views.category ),等


接下來調整相應頁面的顯示文章 分類區域 如下

接下來需要處理的問題:

1.首頁連結跳轉分類連結 2 文章分類數量 3 css js 每個都需要修改 公共變數每個view都需要寫

第一個問題如下處理

第二個如下