Django(3)---语法

版权声明:学而不思则罔,思而不学则殆 https://blog.csdn.net/weixin_43422505/article/details/83188164

具体参考Django官方文档
首先要在setting.py中配置模板路径

TEMPLATES = [{ 'DIRS': [os.path.join(BASE_DIR,'templates')], }]

创建一个templates文件夹(推荐app的放在各自的文件夹下)
应用下的views.py中配置参数

def index(request):
    #rendeer:渲染
    #模板:html文件
    #template_name;指定要渲染的模板的名称
    return render(request, template_name='temrender/index.html', )

注意:引用模板可以在templates下新创建文件夹,将模板放入新文件夹里面,这样可以避免模板引用错误

模板内的语法
views.py的return中配置

return render(request,template_name='temrender/index.html',context={
        'name':'张三',
        'books':['html','js','css','python',100],
        'date':datetime.datetime.now(),
        'people':p,
        'dict':{'username':'hh','password':'1234'},
        'input':'<h1>这是一个h1标签</h1>'
    })
  • {{ }}:作用就是用于加载一个变量的值
  • {% %}:作用就是用来写for循环.if判断等条件语句的语法
<h1>{{ name }}</h1>
  • 通过索引取值
<h1>{{ books.0 }}--{{ books.1 }}--{{ books.2 }}--{{ books.3 }}--{{ books.4 }}</h1>
  • 通过for循环遍历
{% for book in books %}
            <p>{{ book }}</p>
{% endfor %}
  • 判断
#判断大小
{% if people.age < 18 %}
            <p>未成年人</p>
{% elif people.age < 30 %}
            <p>中年人</p>
{% else  %}
            <p>老年人</p>
{% endif %}

#判断是否存在
{% if name %}
    <p>name变量是存在的</p>
{% else %}
    <p>name变量不存在</p>
{% endif %}

  • 通过键取值
<p>{{ dict.username }}-{{ dict.password }}</p>
  • 遍历字典取值
 {% for key,value in dict.items %}
     <p>{{ key }}-{{ value }}</p>
 {% endfor %}

列表的其他两种遍历方式

{% for book in books %}
            {# forloop.counter:获取循环的计数 #}
            <p>{{ forloop.counter }}:{{ book }}</p>{# counter:计数从1开始;12345 #}
            <p>{{ forloop.counter0 }}:{{ book }}</p> {# counter0:计数从0开始;012345 #}
            <p>{{ forloop.revcounter }}:{{ book }}</p> {# revcounter:倒着从计数从7开始;7654 #}
            <p>{{ forloop.revcounter0 }}:{{ book }}</p> {# revcounter0:倒着从计数从6开始;654 #}
        {% endfor %}
  • 过滤器:对{{变量}}的值进行处理
    sale, upper, lower, first, lase, cut
<p>{{ date |date:'Y-m-d h:i:s' }}</p>
<p>{{ dict.username | upper |lower |capfirst }}</p>
<p>{{ input |safe }}</p>
  • {% autoescape off %}:off就是关闭自动转义,通过这个内置标签,可以将(字符串中的h1标签)转化成(html中h1标签 )
{% autoescape off %}
<p> {{ input }}</p>
{% endautoescape %}

猜你喜欢

转载自blog.csdn.net/weixin_43422505/article/details/83188164
今日推荐