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 %}模版处理流程图
版权声明:






