一、问题:

在做完第一个demo的时候,由于只是基础学习,所以对于name的使用并不需要很熟练,也不用理解的很深。但是在做音乐网站的时候遇到了关于如何使用name的内容。

由于一个app中会使用到另一个app的内容,所以在使用的时候没有找到search的映射。

二、解决:

对于无法找到映射的解决办法就是,确认App中的name和在templates中的调用能够完全对应起来。

1.templates中的play.html的代码:

 <form id="searchForm" action="{% url 'search:search_view' 1 %}" method="post" target="_blank">
{% csrf_token %}
<div class="search-keyword">
<input id="kword" name="kword" type="text" class="keyword" maxlength="120" placeholder="音乐节" />
</div>
<input id="subSerch" type="submit" class="search-button" value="搜 索" />
</form>

2.playApp中的urls.py的内容:

 app_name = 'play'
urlpatterns = [
path('play/<int:song_id>.html', views.play_view, name='play_view'),
path('download/<int:song_id>.html', views.download_view, name='download_view')
]

3.playApp中的views.py的内容:

 def play_view(request, song_id):
# hot search songs
search_song = Dynamic.objects.select_related('song').order_by('dynamic_search').all()[:6]
# songs information
song_info = Song.objects.get(song_id=int(song_id))
# play list
play_list = request.session.get('play_list', [])
 def download_view(request, song_id):
# by way of the song_id to search the songs of information
song_info = Song.objects.get(song_id=int(song_id))
# add download times
dynamic_info = Dynamic.objects.filter(song_id=int(song_id)).first()

其中urls.py是主要的连接,.html通过{% ' url【app】:【name的映射】' 【param】 %}来完成对urls.py的映射,再通过urls.py调用views.py中的响应函数,通过这种方式就可以完成数据的交互、跳转。

三、总结:

利用name参数完成.html的响应,通过这种调用方式可以避免二义性以及.html不能准确找到对应函数的问题,使得在写.html时可以更加的准确。

因此name参数的使用显得更加的重要,可以用来指导.html文件的书写,以及完成界面的跳转和跨APP调用的问题,可见django的灵活性。

Django的学习进阶(二)———— name的更多相关文章

  1. Django的学习进阶(三)————ORM

    django框架是将数据库信息进行了封装,采取了 类——>数据表 对象——>记录 属性——>字段 通过这种一一对应方式完成了orm的基本映射官方文档:https://docs.dja ...

  2. WEB框架-Django框架学习(二)- 模型层

    今日份整理为模型层 1.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库, ...

  3. Django的学习进阶(一)—— 外键的使用

    一.描述 在利用django做网络开发的时候我们会遇到一个问题就是,我们建立了多张数据表,但是多张数据表中的内容是不一样的,但是之间有着联系比如: 我有两张表,一张是记录歌曲信息的内容,一张是对歌曲操 ...

  4. Django Rest Framework进阶二

    一.版本 版本控制:当程序越来越大,后期需要再加入一些功能或者进行二次开发时就需要加上版本号了. 之前我们在没有接触rest_framework之前一般是以下这种方式来实现的 class UserVi ...

  5. Django的学习(二)————Templates

    一.django的模板: 在settings.py的文件中可以看到并设置这个模板. 1.直接映射: 通过建立的文件夹(templates)和文件(html)来映射. <!DOCTYPE html ...

  6. The Definitive Guide To Django 2 学习笔记(二) 第二个View 动态内容

    “Hello World”只是简单的展现了Django 基本的工作机制,但它不是动态的网页.第二个View我们将创建一个动态的网页,该页面上将展现当前的时间和日期. 该View需要做两件事,第一,计算 ...

  7. Html5学习进阶二 画布

    canvas 元素用于在网页上绘制图形. 什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canv ...

  8. zuul进阶学习(二)

    1. zuul进阶学习(二) 1.1. zuul对接apollo 1.1.1. Netflix Archaius 1.1.2. 定期拉 1.2. zuul生产管理实践 1.2.1. zuul网关参考部 ...

  9. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

随机推荐

  1. sharepoint环境安装过程中几点需要注意的地方

    写在前面 上篇文章也说明了,在安装sharepoint环境的时候,确实吃了不少苦头,这里纪录一下安装过程中遇到的几个问题. 安装环境 windows server 2012 r2 standard x ...

  2. linux服务nfs与dhcp篇

    nfs复习: 1.简介:用于liunx与linux之间的文件传输系统 2.下载nfs-utils和rpcbind 3.打开配置文件/etc/exports——文件名(目录名)共享给予的ip地址(rw) ...

  3. C# 自定义异常的方法源码演示及说明

    内容之余,把做工程过程中较好的内容段备份一下,下边内容是关于C# 自定义异常的方法演示及说明的内容,希望能对各位朋友有一些好处. using System;using System.Collectio ...

  4. day38数据库MySQL基础

    数据库相关基础1 数据库介绍 1.数据库相关概念  数据库服务器(本质就是一个台计算机,该计算机之上安装有数据库管理软件的服务端)  数据库管理管理系统RDBMS(本质就是一个C/S架构的套接字软件) ...

  5. WPF 重写ListBox(透明效果)

    <UserControl d:DesignHeight="460" d:DesignWidth="300" x:Name="UCcontrol& ...

  6. 关于java字节码框架ASM的学习

      一.什么是ASM ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为 ...

  7. 201772020113 李清华《面向对象程序设计(java)》第三周学习总结

    一.测试题反思: 这次的测试题暴露出我在学习上的很多问题:首先,编程能力非常薄弱,编程题目只写出了第一个程序,还因为小问题通不过测试,以后一定要多上手练习,多阅读示例程序.其次,对理论知识的掌握不全面 ...

  8. python3编译安装no module named _ssl

    使用源码编译安装python3.6.7以后用pip 安装库, 出现如下问题 Retrying (Retry(total=4, connect=None, read=None, redirect=Non ...

  9. 去BAT,你应该要看一看的面试经验总结(转)

    来源微信公众号『easyserverdev』 http://mp.weixin.qq.com/s/UZljzFMjobo1wzCguY7NDg 说下我的面试经验吧,都是亲身经历,不喜勿喷: 我去年12 ...

  10. The history of programming languages.(transshipment) + Personal understanding and prediction

    To finish this week's homework that introduce the history of programming languages , I surf the inte ...