python之Django框架将sqliteman数据库数据显示在页面上

views.py文件

def my_render(request, template_name, comtext_dict={}):

    # 1.加载模板文件  去模板目录下面获取html文件的内容,得到一个模板对象。
    temp = loader.get_template(template_name)
    # 2.定义模板上下文  向模板文件传递数据。
    comtext = RequestContext(request, comtext_dict)
    # 3.模板渲染  得到一个标准的html内容
    res_html = temp.render(comtext)
    # 返回页面内容
    return HttpResponse(res_html)

# 图书的展示页面
def show_books(request):
    
    list = BookInfo.objects.all()
    # 传递参数
    return render(request, 'booktest/show_books.html',
                  {'list': list})


# 英雄的展示页面 关联查询
def detail(request, bid):

    book = BookInfo.objects.get(id=bid)

    heros = book.heroinfo_set.all()

    return render(request, 'booktest/detail.html',
                  {'heros': heros, 'book': book})

models.py文件

from django.db import models

# Create your models here.


# 创建书的类(1类)
class BookInfo(models.Model):

    # 书名
    bname = models.CharField(max_length=20)

    # 书的日期
    bpud_date = models.DateField()

    # def __str__(self):
    #
    #     return self.bname


# 创建英雄类(多类)
class HeroInfo(models.Model):

    # 英雄名
    hname = models.CharField(max_length=20)

    # 英雄性别
    hgender = models.BooleanField(default=False)

    # 英雄功法
    hkunfu = models.CharField(max_length=80)

    # 关联外键
    hbook = models.ForeignKey("BookInfo")

    # def __str__(self):
    #
    #     return self.hname

应用下的urls.py文件

# 建立urls和视图中函数的联系
urlpatterns = [

    url(r'^books$', views.show_books),  # 图书信息的视图函数

    url(r'^books/(\d+)$', views.detail),   # 英雄信息的视图函数

]

detail.html文件


    

{{ book.bname }}

{% for i in heros %} {% empty %} {% endfor %}
ID 人物姓名 武功
{{ i.id }} {{ i.hname }} {{ i.hkunfu }}没有详细信息

show_books.html文件


    

图书信息如下:

{% for i in list %} {% endfor %}
ID 书名 日期
{{ i.id }} {{ i.bname }} {{ i.bpud_date }}

你可能感兴趣的:(后端)