python django MVT的交互案例的簡單實現

https://blog.csdn.net/q1352483315/article/details/101477527
根據這個自己所學的 再實現一個簡單的交互案例

實現的內容:查找相應圖書中對應的人物信息

第一步:實現顯示圖書表中的數據

在視圖文件中導入:from booktest.models import BookInfo

定義to_book函數,通過模型類操作數據庫中相應的數據:

def to_book(request):
    book = BookInfo.objects.all()  # 獲得圖書類模型對應的所有記錄
    return render(request, 'booktest/book.html', {'books': book})

模板文件的操作如下:

<ul>
    {% for book in books %}
        <li><a href="/books/{{ book.id }}">{{ book.btitle }}</a></li>
    {% endfor %}
</ul>

然後就是添加路由:

url(r'^books$', views.to_book)

效果圖:
在這裏插入圖片描述
第二步: 實現對應圖書中的人物信息的展示:

首先實現的就是如何跳轉,主鍵爲人物的id號 所以我們點擊的跳轉修改爲:

<a href="/books/{{ book.id }}">{{ book.btitle }}</a>

然後要實現視圖中模型類對數據庫的操作:

def detial(request, bid):
    book = BookInfo.objects.get(id=bid)# 根據對應的圖書id號獲得相應的記錄
    hero = book.heroinfo_set.all()# 根據對應的圖書查相關圖書中的英雄
    return render(request, 'booktest/detial.html',{'book': book, 'hero': hero})

同樣的再定義路由

url(r'^books/(\d+)$', views.detial)

模板文件的處理:

<ul>
    {% for i in hero %}
    <li>{{ i.hname }} --- {{ i.gender }} --- {{ i.hcomment }}</li>
    {% empty %}{% endfor %}
</ul>

效果圖:
在這裏插入圖片描述
在這裏插入圖片描述


重點:
1. 這裏正則中的分組會自動接收bid中的參數
2. {% empty %}空{% endfor %} 自動處理for循環中如果出現空的情況
3. 對於數據庫之間的處理還需要好好牢記

book = BookInfo.objects.get(id=bid)# 根據對應的圖書id號獲得相應的記錄
hero = book.heroinfo_set.all()# 根據對應的圖書查相關圖書中的英雄
book = BookInfo.objects.all()# 獲得圖書類模型對應的所有記錄
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章