您好,登錄后才能下訂單哦!
這篇文章主要介紹了Django框架如何搭建的圖書信息網站,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創建Django項目,將數據庫改為mysql,修改項目的urls.py文件
創建一個新應用,在應用里創建urls.py文件。
在應用的models.py里建表
from django.db import models # Create your models here. #一類 class BookInfo(models.Model): btitle=models.CharField(max_length=20)#圖書名稱 bpub_date=models.DateField()#出版日期 bread=models.IntegerField(default=0)#閱讀量,默認為0 bcomment=models.IntegerField(default=0)#評論量 isDlete=models.BooleanField(default=False)#邏輯刪除,默認不刪除 #多類 class HeroInfo(models.Model): hname=models.CharField(max_length=20) hgender=models.BooleanField(default=False) hcomment=models.CharField(max_length=200) #定義一個關系屬性 hbook=models.ForeignKey('BookInfo') isDlete = models.BooleanField(default=False) # 邏輯刪除,默認不刪除
首頁index.html查詢所有圖書信息,在views.py里完善index函數。
def index(request): # 1.查詢出所有圖書的信息 books = BookInfo.objects.all() # 2.使用模板 return render(request, 'booktest/index.html', {'books': books})
在template文件夾下的booketest文件夾下新建index.html文件。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>圖書信息</title> </head> <body> <a href="/create" rel="external nofollow" >新增</a> <ul> {% for book in books %} <li><a href="/books{{ book.id }}" rel="external nofollow" >{{ book.btitle }}</a><a href="/delete{{ book.id }}" rel="external nofollow" >_刪除</a></li> {% endfor %} </ul> </body> </html>
index.html里有一個create新增按鈕,去view.py里添加create處理函數
def create(request): '''新增一本圖書''' # 1.創建一個bookinfo對象 b = BookInfo() b.btitle = '流星蝴蝶劍' b.bpub_date = date(1990, 1, 1) # 2.保存進數據庫 b.save() # 3.返回應答 # return HttpResponse('ok') # 讓瀏覽器返回首頁 return HttpResponseRedirect('/index')
數據庫里添加上之后,重定向到首頁index。
應用的urls.py文件里要寫url(r'^create$',views.create)
,才能正確的跳轉到create處理函數。
一個顯示書里人物的details.html,從index.html用book.id去尋找書的數據。
去views.py寫details處理函數
def details(request,bid): book=BookInfo.objects.get(id=bid) heros=book.heroinfo_set.all() return render(request,'booktest/details.html',{'book':book,'heros':heros})
新建details.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2>{{book.btitle}}</h2> 英雄信息: <br/> <ul> {% for hero in heros %} <li>{{hero.hname}}--{{hero.hcomment}}</li> {% empty %} 沒有英雄信息 {% endfor %} </ul> </body> </html>
去應用的urls.py里把url地址和視圖處理函數對應上
url(r'^books(\d+)$',views.details)
這里的(\d+)是需要傳參到details視圖處理函數。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Django框架如何搭建的圖書信息網站”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。