大致目标是,一个网址的收藏夹,有网站名字,
有大概说明是干什么的,然后点一下就会跳转到那个网页
首先要创建,到根目录CMD一下,输入
python manage.py startapp 收藏夹
这个时候你的根目录多了一个叫做收藏夹的文件夹
收藏夹 │ ├─migrations │ └─__init__.py ├─__init__.py ├─admin.py ├─apps.py ├─models.py ├─tests.py ├─urls.py(这个自己新建下) └─views.py
写models.py
from django.db import models class Urlclass(models.Model): title = models.CharField('标题',max_length=100) abstract = models.TextField('摘要') url = models.URLField('网址') class Meta: verbose_name = '收藏的网址' verbose_name_plural = "收藏的网址" #为了在后台显示中文 def __str__(self): return self.title
写view.py
from django.views.generic import ListView from .models import Urlclass class indexListView(ListView): # 上下文的名称 context_object_name = 'urls' # 查询集 queryset = Urlclass.objects.all() # 模板位置 template_name = '收藏夹/收藏夹列表.html'
写urls.py
#引入path from django.urls import path # 引入view.py from . import views # 正在部署的应用名称 app_name = 'index' urlpatterns = [ # path函数将url映射到视图 path('',views.indexListView.as_view(),name='收藏夹列表'), ]
为了在后台中操作还要写一下admin.py
from django.contrib import admin from 收藏夹.models import Urlclass admin.site.site_header = '后台_header' admin.site.site_title = '后台_title' admin.site.register(Urlclass)
在templates
文件夹新建一个收藏夹
文件夹,再里面新建收藏夹列表.html
<!-- extends表明此页面继承自 base.html 文件 --> {% extends "base.html" %} <!-- 写入 base.html 中定义的 title --> {% block title %} 收藏夹页 {% endblock title %} <!-- 写入 base.html 中定义的 content --> {% block content %} <div class="row"> {% for url in urls %} <div class="col-sm-6 mt-4 "> <div class="card rounded shadow-lg"> <a type="button" class="btn btn-secondary" href={{ url.url }} target="view_window"> <h5 class="text-center text-bottom">{{url.title}}</h5> </a> <h5 class="text-center">{{url.abstract}}</h5> </div> </div> {% endfor %} </div>
app写好以后还需要与我们的架子对接一下
基本就是注册app,url对接,迁移数据
在此之前给收藏夹添加一个便于访问的按钮
也就是之前预留在导航条的应用链接
编辑templates/header.html
<!-- 上面的代码 --> ··· <li class="nav-item"> <!-- 以后写的每个应用我都放在这里一个链接方便跳转 --> <a class="nav-link" href="{% url '收藏夹:收藏夹列表' %}">收藏夹</a> </li> ··· <!-- 下面的代码 -->
注册app,编辑我的博客
中的settings.py
INSTALLED_APPS = [ # 其他代码 ... # 新增'收藏夹'代码,激活app '收藏夹', ]
编辑我的博客
中的urls.py
#其他代码 from django.urls import include urlpatterns = [ # 其他代码 ··· # 新增代码,配置app的url path('收藏夹/', include('收藏夹.urls', namespace='收藏夹')), ]
迁移,在根目录cmd中:
python manage.py makemigrations python manage.py migrate
数据迁移完成,给自己创建一个管理员便于在后台中添加测试数据,继续CMD
python manage.py createsuperuser 根据提示创建一个管理员账号密码
OK,启动项目
python manage.py runserver
打开浏览器进入后台管理http://127.0.0.1:8000/admin
并登陆
添加几条数据之后回到主网址http://127.0.0.1:8000/
可以看到导航栏的收藏夹按钮了,点一下
应该可以看到网址列表了,随便点个网址,么得问题
布丁
易将木剑交给了师父,两人盘腿坐在大树下,师父从怀里摸出一块铁片,在木剑上刻着字。
“无什么……什么什么……易大什么?”易抓着脑袋,念着师父刻的字。
“这些字读,「无极剑派第三百六十九位传人,易大师」。叫你好好读书,连这些字都不认识。”师父敲着易的脑袋说。
“明明是你字太烂……弯弯曲曲的像蚯蚓一样。”易撅着嘴,摸着脑袋,委屈的说。
“是吗,哈哈……”师父摸着脑袋,尴尬的笑着。
“师父,为什么要刻个易大师呢?易就可以了啊。”
“因为带有大师的人,都是很厉害的人。为师希望你以后能将无极剑派的思想发扬光大,所以才刻上大师两个字,这是为师对你的期望。”
“徒儿绝不会辜负师父的期望!”