悠闲养生·博客-www.yxyss.cn

python学习django5,第一节,新建APP及模版使用

更新时间:2026-04-26 08:45点击:12

  

APP内容

Urls对应 index/对应views中的index函数

views编写函数index

path('index/', views.index),对应views中
def index(request):

  

return HttpResponse("欢迎使用")

  

Views返回模版页
urls
path('user/list/', views.user_list),
对应> views

  

def user_list(request):
return render(request,"user_list.html")

  

相对应关系

查找user_list.html顺序
首先在APP目录下找templates文件夹下的user_list.html(根据APP的注册顺序查找)

  

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mys1.apps.Mys1Config'
]

  

从上到下,mys1>mys2........
如果在settings中有设置

查找则按如下规则进行

静态文件位置及设置
静态文件放在APP目录下的static文件夹中

图片引用例:

<img src="/static/img/1.jpg" width="800px" alt="地图">
一般推荐使用:
在模版顶部加:
{% load static %}
再引用,方式为:
<img src="{% static 'img/1.jpg' %}" width="800px" alt="地图">

views.py参数传递数据到模版


可以用单位变量、列表、字典

views中函数源码:

def user_list(request):
   name="姓名"
   roles=["姓名 ","职位","年龄"]
   user_info = {"name":"郭智",
                "salary": "18e888",
                "role": "CTo"}
   data_list = [
        {"name":"郭智","salary": "180888",'role': "CTo"},
      {"name": "卢慧","salary": "188888", 'role':"CTo"},
      {"name":"赵建先", "salary":'180088', 'role':"CTo"}
  ]

   return render(request,"user_list.html",
                {'n1':name,'n2':roles,
                  'n3':user_info,'n4':data_list})

对应模版代码:

<Ul>
{% for k,v in n3.items %}
   <Li>{{k}}={{v}}</li>
{% endfor %}
</ul>
<br/>
{{ n4 }}<br/>
{{ n4.1 }}<br/>
{{ n4.1.name }}<br/>
{{ n4.1.role }}<br/>

输出结果:

在模版中使用for、if等操作

例:

{% for item in n2 %}
   <span>
      {{ item }}
   </span>
{% endfor %}

if用法:

 {% if n1 == "姓名" %}
<span>口哈哈哈哈</span>
          {% else %}
<span>目目目目目目</span>
          {% endif %}

模版处理流程图

  

栏目分类

联系方式
  • help@yxrss.cn
  • lgc@yxrss.cn
  • admin@yxrss.cn