Django实现音乐网站 ⑾

使用Python Django框架制作一个音乐网站,

本篇主要是前端开发前的一些必要配置和首页展示开发。

 

目录

配置应用路由

创建应用路由文件

应用路径加入项目路径

创建项目模板

创建项目及应用模板路径

设置模板路径

设置静态资源路径

创建静态资源路径

配置静态资源路径

创建首页显示

设置首页路由

设置首页视图方法

设置首页模板

模板继承

创建公共模板路径

创建公共模板文件

头部模板

底部模板

基类模板

修改首页模板

总结


配置应用路由

创建应用路由文件

在player应用目录下创建urls.py文件。

内容如下:

from django.urls import path

urlpatterns = [
    
]

应用路径加入项目路径

在myMusic工程目录下urls.py中加入应用路由。

内容如下:

from django.contrib import admin
from django.urls import path, re_path, include
from django.views.static import serve
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}, name='media'),

    # 音乐网站前端路由
    path('', include(('player.urls', 'player'))),
]

 

创建项目模板

创建项目及应用模板路径

在myMusic目录下创建templates文件夹,因为就一个应用,就不再创建应用文件夹;

用来存放音乐网站前端模板文件。

如下图:

 

设置模板路径

需要告知django模板路径的位置,在myMusic/settings.py中修改TEMPLATES参数设置。

主要是修改DIRS参数。

内容如下:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

注意:需要使用os库中的函数,若未引入os库,会报错!

设置静态资源路径

创建静态资源路径

需要把接下来要使用的静态文件如css、js、images等文件目录创建出来。

在myMusic下创建static目录,在其中创建css、js、images目录。

如下图:

配置静态资源路径

之前做后台时候已经配置过了,如果有没配置的可以再配置一下。

在myMusic工程目录下settings.py文件中;设置STATIC_URL和

STATICFILES_DIRS。

内容如下:

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

创建首页显示

设置首页路由

在player/urls.py中设置首页路由。

内容如下:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

 

设置首页视图方法

在player/views中创建index方法。

内容如下:

from django.shortcuts import render

# Create your views here.


def index(request):
    """ 显示首页 """

    return render(request, 'index/index.html')

设置首页模板

在templates中创建index目录;在index目录中创建index.html文件。

内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的音乐</title>
</head>
<body>
    <h1>这里是网站首页</h1>
</body>
</html>

随便写点东西,主要看一下展示,之后再改显示内容。

效果:

模板继承

创建公共模板路径

在templates目录下创建common公共模板路径。

创建公共模板文件

可以把模板文件分为三部分,即父模板、头部模板、底部模板。

头部模板

在common目录下创建header.html文件,主要放置网站公共头部内容。

内容如下:

<div class="header">
    <ul>
        <li><img src="{% static 'images/logo.png' %}" alt=""></li>
        <li>推荐</li>
        <li>排行榜</li>
        <li>歌手</li>
        <li>单曲</li>
        <li>歌单</li>
    </ul>
</div>

 

底部模板

在common目录下创建footer.html文件,主要放置网站公共底部内容。

内容如下:

<div class="footer">
    <p>北京xxxx有限公司版权所有 丨 网络文化经营许可证: 京网文[2023]xxxx-xxx号 丨 信息网络传播视听节目许可证010xxxx号</p>
    <p>应用版本:1.0 丨 开发者:北京xxxx有限公司 丨 举报电话:010-12345678丨 网上有害信息举报专区</p>
</div>

基类模板

在common目录下创建base.html文件,主要用来引入全局样式,确定网站布局,

实现公共部分的集成;其他模板继承后实现其独有部分内容。

内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}标题{% endblock title %}</title>
</head>
<body>
    {# 头部内容 #}
    {% include 'common/header.html' %}

    {# 中间内容开始 #}
    {% block content %}
      内容
    {% endblock content %}
    {# 中间内容结束 #}

    {# 底部内容 #}
    {% include 'common/footer.html' %}
</body>
</html>

 

修改首页模板

修改首页模板继承基类模板。

内容如下:

{% extends 'common/base.html' %}

{% block title %}我的音乐{% endblock title %}

{% block content %}
  <h1>这里是网站首页</h1>
{% endblock content %}

效果:

总结

本篇主要是前端部分功能开发前的一些项目和应用配置,首页展示及模版继承的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/81624.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt安卓开发经验技巧总结V202308

01&#xff1a;01-05 pro中引入安卓拓展模块 QT androidextras 。pro中指定安卓打包目录 ANDROID_PACKAGE_SOURCE_DIR $$PWD/android 指定引入安卓特定目录比如程序图标、变量、颜色、java代码文件、jar库文件等。 AndroidManifest.xml 每个程序唯一的一个全局配置文件&…

webshell实践,在nginx上实现负载均衡

1、配置多台虚拟机&#xff0c;用作服务器 在不同的虚拟机上安装httpd服务 我采用了三台虚拟机进行服务器设置&#xff1a;192.168.240.11、192.168.240.12、192.168.240.13 [rootnode0-8 /]# yum install httpd -y #使用yum安装httpd服务#开启httpd服务 [rootnode0-8 /]# …

【C#学习笔记】C#特性的继承,封装,多态

文章目录 封装访问修饰符静态类和静态方法静态构造函数 继承继承原则sealed修饰符里氏替换原则继承中的构造函数 多态接口接口的实例化 抽象类和抽象方法抽象类和接口的异同 虚方法同名方法new覆盖的父类方法继承的同名方法 运行时的多态性编译时的多态性 照理继承封装多态应该…

CSS 字体修饰属性

前言 字体修饰属性 属性说明font-family指定文本显示字体font-size设置字体的大小font-weight设置字体的粗细程度font-style设置字体的倾斜样式text-decoration给文本添加装饰线text-indent设置文本的缩进text-align设置文本的对齐方式line-height设置行高color设置文本的颜色…

Shell脚本基础教程

Shell脚本基础教程 Shell参数定义 定义变量 想要定义变量&#xff0c;只需要使用如下命令即可。 variable_namevariable_valuevariable_name表示变量名&#xff0c;variable_value表示变量值。注意&#xff0c;等号与变量名和变量值之间不能有空格。 变量名的命名需要遵循…

C语言入门_Day7 逻辑运算

目录&#xff1a; 前言 1.逻辑运算 2.优先级 3.易错点 4.思维导图 前言 算术运算用来进行数据的计算和处理&#xff1b;比较运算是用来比较不同的数据&#xff0c;进而来决定下一步怎么做&#xff1b;除此以外还有一种运算叫做逻辑运算&#xff0c;它的应用场景也是用来影…

电脑远程接入软件可以进行文件传输吗?快解析内网穿透

电脑远程接入软件的出现&#xff0c;让我们可以在两台电脑之间进行交互和操作。但是&#xff0c;很多人对于这些软件能否进行文件传输还存在一些疑问。下面的文章将解答这个问题。 1.电脑远程接入软件可以进行文件传输。传统上&#xff0c;我们可能会通过传输线或者移动存储设…

Redis在Java中的基本使用

本片将介绍 Redis 在 Java 中的基本使用 文章目录 1、使用jedis操作redis1.1、Jedis简介1.2、引入jedis的Maven依赖1.2、获取连接1.3、使用实例 2、对于JedisPooled的使用2.1、使用JedisPooled2.2、关于连接池 3、SpringBoot下使用Redis3.1、引入Maven依赖3.2、配置Redis连接3.…

RabbitMq:Topic exchange(主题交换机)的理解和使用

RabbitMq:Topic exchange(主题交换机)的理解和使用 在RabbitMq中&#xff0c;生产者的消息都是通过交换机来接收&#xff0c;然后再从交换机分发到不同的队列中去&#xff0c;在分发的过程中交换机类型会影响分发的逻辑&#xff0c;下面主要讲解一下主题交换机。 ​ 主题交换…

pycharm上传项目到github,版本管理

前提&#xff1a;下载git 设置Git路径 登录Github 此时自动打开浏览器&#xff0c;并打开连接页面&#xff0c;点击 Authorize GitHub。登录&#xff1a; 创建本地仓库 提交到Github 填写初始提交相关信息 origin&#xff0c;它们只是远程服务器的一个别名&#xff0c;否则你就…

NPM 创建和管理组织

目录 1、创建一个组织 2、将用户帐户转换为组织 3、组织中开启双因素身份验证 3.1 关于组织的双因素身份验证 3.2 先决条件 3.3 在您的组织中要求双因素身份验证 3.4 帮助已删除的成员和外部协作者重新加入您的组织 4、重命名组织 5、删除组织 1、创建一个组织 任何n…

“Spring管理JavaBean的过程及Bean的生命周期“

目录 引言1.弹簧容器2. Bean的生命周期2.1 配置javaBean2.2. 解析Bean的定义2.3 检查是否需要添加自己的功能2.4 初始化2.5 实现Aware接口2.6 扩展2.7. 销毁 3. 单例模式和原型模式3.1. 单例模式3.2. 原型模式 4. 总结 引言 Spring框架是一个非常流行的Java应用程序框架&#…

【【verilog典型电路设计之流水线结构】】

verilog典型电路设计之流水线结构 下图是一个4位的乘法器结构&#xff0c;用verilog HDL 设计一个两级流水线加法器树4位乘法器 对于流水线结构 其实需要做的是在每级之间增加一个暂存的数据用来存储 我们得到的东西 我们一般来说会通过在每一级之间插入D触发器来保证数据的联…

【AIGC】 快速体验Stable Diffusion

快速体验Stable Diffusion 引言一、安装二、简单使用2.1 一句话文生图2.2 详细文生图 三、进阶使用 引言 stable Diffusion是一款高性能的AI绘画生成工具&#xff0c;相比之前的AI绘画工具&#xff0c;它生成的图像质量更高、运行速度更快&#xff0c;是AI图像生成领域的里程碑…

Linux/Ubuntu 的日常更新,如何操作?

我安装的是Ubuntu 20.04.6 LTS的Windows上Linux子系统版本&#xff0c;启动完成后显示&#xff1a; Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.90.4-microsoft-standard-WSL2 x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.c…

Azure不可变Blob存储

文章目录 Azure不可变Blob存储介绍Azure不可变性策略实战演练 Azure不可变Blob存储介绍 不可变的存储是一种用于存储业务关键型 Blob 数据的存储方式。与可变存储相反&#xff0c;不可变存储的特点是一旦数据被写入后&#xff0c;便无法再对其进行修改或删除。这种存储方式提供…

【2023最新爬虫】爬取知乎任意问题下的全部回答

老规矩&#xff0c;先上结果&#xff1a; 爬取了前200多页&#xff0c;每页5条数据&#xff0c;共1000多条回答。&#xff08;程序设置的自动判断结束页&#xff0c;我是手动break的&#xff09; 共爬到13个字段&#xff0c;包含&#xff1a; 问题id,页码,答主昵称,答主性别,…

Ubuntu一直卡死的问题(20.04)

Ubuntu一直卡死的问题&#xff08;18.04&#xff09;_ubuntu频繁死机_Mr.Yi的博客-CSDN博客 我自己的解决方法: 1、首先强制关机重启后&#xff0c;直接打开命令行查看磁盘的使用&#xff1a; df -h发现/dev/loop都沾满了&#xff0c;我们能需要做的就是把他们清理干净 sud…

【模拟集成电路】反馈系统——基础到进阶(二)

【模拟集成电路】反馈系统——基础到进阶&#xff08;二&#xff09; ------------------------------------------------文末附往期文章链接-------------------------------------- 1反馈结构2反馈系统分析2.1环路增益求解方法2.1二端口网络2.2电压-电压反馈2.2.1闭环增益2.2…

ant-design-vue在ios使用AUpload组件唤起了相机,HTML的 `capture` 属性

在使用ant design vue组件的上传组件AUpload的时候有一个问题&#xff0c;直接按照demo写&#xff0c;在ios上会唤起相机&#xff0c;但是实际上我们的需求是弹出选择相册/相机这个弹框。 解决办法是加一个 cupture"null"这个属性即可 <a-upload:capture"nu…