前端:
1、创建 base.html 基本模板,
2、新建html页面
{% extends "base.html" %} 使用模板
{% block content %}HTML代码{% endblock %} #新页面替换base.html里的content
替换变量 {{ 变量 }},添加链接 {% url “html页面名称” %} 例: <a class="navbar " href="{% url 'index' %}">英大图书</a>
3、项目urls文档里增加主页path
4、各页面
a. 应用urls文档里增加各分页面path,例:
path('books/',views.BookListView.as_view(),name='book'),#分页面
b. views文档里加以下类:
class BookListView(generic.ListView):
model = Book
context_object_name='book_list' # book list 变量的名称
queryset=Book.objects.all()
# queryset = Book.objects.filter(title__icontains='python')[:5] # 书名包含python的5本书
template_name = 'book.html' # 指定template名称
paginate_by = 10 分页
5、详情页
a. 应用urls文档里增加详细页path,例:
path('book/<int:pk>',views.BookDetailView.as_view(),name='book_detail',#详细页面路径
b. model文档里加以下函数:
def get_absolute_url(self):
return reverse('book_detail', args=[str(self.id)])
使用时在book页修改链接:
<p>作品: <a href="book.get_absolute_url">{{ book.title }}</a></p>
详情页里的作者详情页面链接写法:
<p><strong>作者:</strong> <a href="{{ book.author.get_absolute_url }}">{{ book.author }}</a></p>
c. views文档里加以下类:
class BookDetailView(generic.DetailView):
model=Book
template_name = 'book_detail.html'