文章目录

1.模板中变量的运算

2.getlist获取多个值

3.查询集去重distinct()方式

4.模板中的for循环计数实现自增

5.查询数据库时,按照desc倒序返回数据

6.静态文件添加背景图片

7.启动服务让其他电脑可访问

1.模板中变量的运算

(1)加法

{{value|add:value2}}

#返回的结果是value+value2的值,假设你value为40,value2为60 ,则该表达式

#返回结果为100

(2)减法

{{value|add -value2}}

#与加法的性质一样,只不过是把第二个参数变成负数进行运算,返回的结果是value-value2

#假如value=4,value2=8,则返回的结果是-4

(3)乘法

{% widthratio value1 value2 value3%}

#上面的代码表示 value1/value2*value3,widthratio需要三个参数,进行乘法 只需将第二个参数等于1即可

#例: value1=10 value2=1 value3=2 返回的结果为10/1*2=20

(4)除法

{% widthratio value1 value2 value3%}

#返回的结果是 (value1/value2)*value3 只需将value3等于1就能进行除法运算

#例: value1=100 value2=20 value3=1 返回的结果为 (100/20)*1=5

2.getlist获取多个值

urls.py加一条路由视图:

url(r'register',views.register),

主站views.py上加register函数:

def register(request):

if request.method == "GET":

return render(request,'register.html')

elif request.method == "POST":

v = request.POST.get('gender')

f = request.POST.getlist('favor', '')

c = request.POST.get('city')

c2 = request.POST.getlist('city2')

print(v, f, c, c2)

return render(request, 'register.html')

register.html的配置:

Titletitle>

head>

p>

p>

男:

女:

人妖:

p>

篮球:

足球:

排球:

p>

上海option>

北京option>

天津option>

select>

p>

上海option>

北京option>

天津option>

select>

p>

p>

form>

body>

html>

从django后台打印的post信息可以看到多选框里面的内容是列表的形式,request.POST.getlist()可以接收到所有共享同一个name的value。

3.查询集去重distinct()方式

# 学习该课程的用户,首先获取该课程在UserCourse对应关系,然后查询UserCourse表中的所有用户,使用distinct()去重

user_courses = UserCourse.objects.filter(course=course)

print(user_courses)

user_courses = user_courses.values('user__nick_name', 'user__username', 'user__image').distinct()

print(user_courses)

结果

, , ]>

4.模板中的for循环计数实现自增

Django框架的模板提供了{% for %} 标签来进行循环

例如对集合进行循环如下

{% for row in v1 %}

{{row.name}}div>

{% endfor %}

但是在Django中,并不直接支持形如"int i = 0;i<100;i++" 这样的循环,Django有自己的自增方法,假设v1内有2个元素:

(1)从1开始正向自增 结果1,2

{% for row in v1 %}

{{forloop.counter}}div>

{% endfor %}

(2)从0开始正向自增 结果0,1

{% for row in v1 %}

{{forloop.counter0}}div>

{% endfor %}

(3)自减到1 结果2,1

{% for row in v1 %}

{{forloop.revcounter}}div>

{% endfor %}

(4),自减到0 结果1,0

{% for row in v1 %}

{{forloop.revcounter0}}div>

{% endfor %}

(5)是否是最后一个 结果False,True

{% for row in v1 %}

{{forloop.last}}div>

{% endfor %}

(6)是否是第一个 结果True,False

{% for row in v1 %}

{{forloop.first}}div>

{% endfor %}

(7)如果有多层循环,返回上层循环的全部取值的结果

{% for i in v1 %}

{% for row in v1 %}

{{forloop.parentloop}}div>

{% endfor %}

{% endfor %}

5.查询数据库时,按照desc倒序返回数据

按照“ id ”从小到大查询数据

projects = models.Project.objects.all().order_by("id")

或者

projects = models.Project.objects.order_by("id")

从大到小排序:

projects = models.Project.objects.all().order_by("-id")

或者

projects = models.Project.objects.order_by("-id")

6.静态文件添加背景图片

创建一个子目录来存放图片,在这个目录中,放入一张图片background.jpg

在样式表中添加

body{background:url({% static 'images/background.jpg'%}) no-repeat;background-size:100% 100%;background-size:cover;}

重新加载http://127.0.0.1:8000/,你就会在页面上看到载入的背景图片。

7.启动服务让其他电脑可访问

(1)修改 Django项目中的settings.py中的 ALLOWED_HOSTS 的值为 [*]

# 准许那些地址访问,* 表示任意地址

ALLOWED_HOSTS = ['*']

# ALLOWED_HOSTS = ['192.168.1.49', 'localhost', '127.0.0.1']

(2)使用命令启动服务:

python manage.py runserver 0.0.0.0:8000

其他的电脑可通过访问启动服务的ip和端口即可打开网页、访问项目。

※注意:开启服务的主机和申请访问的设备必须在同一局域网下,即具有相同的访问IP。

html背景图去重,Python Django开发 经验技巧总结(二)相关推荐

  1. 【python教程入门学习】必须具备Python Django开发技能

    我们都知道Python编程语言的流行程度.在大多数技术公司中,这种语言用于开发应用程序的后端部分.此外,这种语言广泛应用于数据科学.自动化等领域.Django是Python最流行的框架,现在很多应用程 ...

  2. 使用Python Django开发web应用5 URL映射、模板和视图

    版本声明:转载请注明出处.未经允许,禁止商业用途. 使用Python Django开发web应用5 URL映射.模板和视图 ----刘一凡 创建模板 在D:\django\web\blog\中创建te ...

  3. 使用Python Django开发web应用15 缓存

    版本声明:转载请注明出处.未经允许,禁止商业用途. 15 使用Python Django开发web应用 缓存 讲师:刘一凡 第一步: 在settings.py中进行添加 CACHES = {     ...

  4. 使用Python Django开发web应用4 模型和数据库

    版本声明:转载请注明出处.未经允许,禁止商业用途. 使用Python Django开发web应用 模型和数据库 ----刘一凡 数据库配置 Django支持很多数据库,官方支持PostgreSQL. ...

  5. 使用Python Django开发web应用14 静态文件

    版本声明:转载请注明出处.未经允许,禁止商业用途. 14 使用Python Django开发web应用 静态文件 讲师:刘一凡 第一步: 准备静态文件,制作图片OurBlog 第二步: 缺省配置下.静 ...

  6. python django开发工具_Python和Django web开发工具pycharm介绍

    今天无意中发现了这个软件,适用了一下不错.PyCharm 具有智能代码编辑器,能理解 Python 的特性并提供卓越的生产力推进工具:自动代码格式化.代码完成.重构.自动导入和一键代码导航等 PyCh ...

  7. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  8. python django开发api_基于Django框架开发Restful api

    在上篇文章中,我们讲解了restful api的主要概念,让大家有初步的了解.这一篇中,我们将通过python的Django框架,来学习开发restful 架构的接口. 一. 开发环境 开发语言:Py ...

  9. 前端背景图放置_前端开发关于网页背景图片的缩放自适应及组合形成背景图的问题...

    前端游戏开发贴吧 游戏前端开发 游戏开发流程 策划美术前端后端 昨天在切图时遇到如下两个问题: 1.需要背景图片无论浏览器大小如何缩放,背景图片始终宽度百分百显示. 2.需要将给出的一张背景图片和一张 ...

最新文章

  1. CM5.x配置spark错误解决
  2. 杭电2063--过山车(二分匹配)
  3. Struts2笔记——第一个实例HelloWorld
  4. Webdriver使用Chrome模拟手机浏览器测试移动版网站
  5. ttribute value is quoted with which must be escaped when used within the value
  6. (26)Vue.js组件通信—props 命名规则
  7. 基于 Mean-shift的稳健性可视跟踪研究
  8. abb机器人编程指令goto指令_abb机器人编程指令——轨迹偏移使用的指令以及moveL指令...
  9. 蝶式套利(butterfly spread)
  10. JavaScript,实现这样的情景:阅读协议,阅读完毕后就可以点击同意复选框。
  11. 使用FontCreator工具创建字体符号
  12. 苹果公司开发者账号申请——Apple Developer Program
  13. 卡耐基梅隆大学计算机科学课本,美国卡耐基梅隆大学计算机科学硕士.pdf
  14. HDU - 3853 Loop [Maho shoujo] [概率DP]
  15. iOS runloop
  16. String是基本数据类型吗?
  17. 【Java】练习题库 单选题
  18. 两角和的余弦公式cos(α+β)=cosαcosβ-sinαsinβ
  19. JSON解析格式化工具——非插件(超好用推荐)
  20. 如何更好的建设标准化数字化智慧工地?

热门文章

  1. C#获取网页的HTML码、下载网站图片
  2. Keepalived常用配置及脚本
  3. 如何更改计算机睿频,bios中关闭cpu睿频实用方法介绍
  4. LPDDR4 DRAM Memory Controller(Block Diagram)
  5. 如何快速求最大公约数和最小公倍数
  6. 申请计算机专业有关个人陈述吗,计算机专业个人陈述
  7. js实现页面刷新、全屏、退出全屏
  8. Android 最新版 Paypal 智能付款按钮 Paypal JavaScript SDK 集成:Smart Payment Buttons
  9. 算法入门(一)数据的输入与输出
  10. 安然邮箱社交网络分析