25 python django

MVC :    

    Modle : 业务对象与数据库对象    

    View : 如何展示页面    

    Controller : 路由处理函数

MTV: 

    Modle: 业务对象与数据库对象

    Template : 如何展示页面

    View : 视图函数

安装django: pip install django

命令创建django项目django-admin startproject name

命令创建django应用python manager.py startapp name

命令行启动应用 python manager.py runserver

简单开发流程:   

在urls.py里面添加url path里面第一个参数是一个正则表达式 第二个参数是处理函数 第三个参数是别名

from django.conf.urls import  url
urlpatterns = [
    path('admin/', admin.site.urls),
    path('show_time/',views.show_time),
    url(r'artical/(\d{4})', views.artical_year),
]

在views.py添加处理函数回传HttpResponse类

def show_time(req):
    #return  HttpResponse("hello")

配置静态文件夹路径 在settings.py里面添加

第一种方法:

STATIC_URL = '/static/' #别名项目中实际使用的名字
STATICFILES_DIRS=(

    os.path.join(BASE_DIR,"static"),
)
修改html文件 用<script src="/static/jquery-3.1.1.js"></script> 或者
{% load staticfiles %}
<script src={% static 'jquery-3.1.1.js' %}></script> 引入js文件
urls.py里面添加路径url里的正则表达式分组会作为参数传到view函数中

    无命名分组

url(r'artical/(\d{4})', views.artical_year),

    有命名分组

url(r'artical/(?P<year>\d{4})', views.artical_year),
Url分发
 
urlpatterns = [
    path('admin/', admin.site.urls),
    url('blog/', include('blog.urls'))
]

redirect: 重定向至一个新页面

render: 渲染页面

模板语法:HTML + 逻辑控制代码

    变量:{{var}}

    句点符:集合,字典,列表, 类都是通过.访问内容

    过滤器:对变量记性处理 {{var | filter}}

            add 加法,capfirst 首字母大写, cut 移除内容

         date 格式化日期 {{time | date:"Y-m-d"}}

          safe:可信的内容 

    标签:{% tags %}

        if标签:

            {% if a>b %}

            {%elif%}

            {%else%}

            {%endif%}    

         for标签 

            forloop.counter:for循环索引值

            forloop.revcounter:for循环反向索引值

            forloop.first:是不是第一次遍历

            {%for x in l%}

            {%empty%} #是否是空的

            {%endfor%}   

        csrf_token标签:{%csrf_token%}

        verbatim标签:禁止渲染{%verbatim%} {%verbatimend%} 

         {% load %}:标签库

自定义filter和simple_tag

   在app下创建templatetags文件夹,创建自己的tag文件

from django import template

register = template.Library()

@register.filter
def filter_multi(x,y):
    return x*y

@register.simple_tag
def simple_tag_multi(x,y):
    return x*y

模板继承

{% extends "base.html"%}

{%block name%}

{%endblock%}

{{block.super}} 父类的内容


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值