Django基础1:静态文件,路由,视图和模板

  

小生博客:http://xsboke.blog.51cto.com

  
 <代码> - - - - - - -谢谢您的参考,如有疑问,欢迎交流 
  <人力资源/>   

一、静态文件
二,路由映射
三,视图函数
四,模板(模板)基础

  
      <李>   

    关于静态文件

      

    1.1首先需要在配置文件设置。py中指定静态目录
    STATICFILES_DIRS=(
    os.path.join (BASE_DIR,“statics"),
    )

      

    1.2然后在html中使用django模板语言指定静态文件
    {%从staticfiles加载静态%}
    & lt;链接https://www.yisu.com/zixun/href="{%静态”指数。css“%}”rel="样式表" type=" text/css "/>
    & lt;脚本src=https://www.yisu.com/zixun/眥%静态”指数。js " %} ">

      

    1.3也可以这样写

      
     <代码> #指定前缀
      STATIC_URL='//'
      
      STATICFILES_DIRS=(
      os.path.join (BASE_DIR“静态”),
      )
      
      & lt;链接的href=" https://www.yisu.com/a/css/index.css " rel="样式表" type=" text/css "/比;
      & lt;脚本src=" https://www.yisu.com/a/js/index.js "祝辞& lt;/script>  
      李   <李>   

    路由映射

      

    Django URL是一个URL和视图函数的映射表

      

    urlpattern=[
    路径(admin/, admin.site.urls),
    )

      

    urlpattern=[
    url(正则表达式,观点视图函数,参数,别名)
    ]
    参数:可选的要传递给视图函数的默认参数
    别名:一个可选的名字参数,用于前端

      

    注意:要想使用url去配置路径需要加载模块:django.conf。url输入url

      

    2.1无名分组
    url (r ' ^文章/[0 - 9]{4}/([0 - 9]{4})/([0 - 9]+)/$’,views.special_case_2018),
    ^文章:以文章开头匹配的文章
    /:目录符号
    [0 - 9]{4}:包含一个4位的数,每一位的范围是0 - 9
    ():加括号的意思是传入一个参数
    这时候,观点。py需要这样写(使用HttpResponsen需要导入这个模块):
    def special_case_2018(点播,变量)#可以传入多个变量,用逗号分隔
    返回HttpResposen(变量+“year") #将用户输入的内容返回到浏览器上

      

    2.2命名分组

      

    2.2.1讲解进口re


      
     <代码> ret=re.search(’(?术;id> \ d{3})/(?术;name> \ w {3})”,“weeew34ttt123/已坏”)
      
      ? P:固定格式,意思是这种分组是有名字的
      & lt; id>:匹配的名字就是id,可以看做是一个变量,是匹配内容的变量
      \ d{3}:是匹配的内容,三个数字。
      {3}\ w:就是3个字母
      “weeew34ttt123/已坏”:这段字符串就是被匹配的内容,最终结果会匹配出“123/已坏”
      
      打印(ret.group()):取出所有匹配到的内容
      print (ret.group (id)):只取出名字为的id的内容
      print (ret.group('名称')):只取出名字为的名字的内容 
      2.2.2

    url格式
    urlpattern=[
    url (r ' ^文章/(?术;year>[0 - 9]{4})/(?术;month> [0 - 9] {4})/$’, views.year_archive),
    )

      
     <代码> views.py配置
      def year_archive(点播,年、月):#使用命名分组,形参必须是url中定义的名字,顺序可以不同
      返回HttpResposen(年+ " y " +月+“m”)  
      

    2.3参数三
    urlpattern=[url (r 'index
    ', views.index {“name":“大山”}),


    )   
     <代码> def指数(点播、名称):
      返回HttpResposen(名字)#返回“大山”
      #如果在使用参数的同时,使用了命名分组,两边的名字如果一样,那么参数会覆盖命名分组 
      

    2.4参数四
    urlpattern=[url (r 'index
    ', views.index, name=癲ashan"), #的名字是固定的写法,名字就是别名
    ) # name=癲ashang",代替的就是指数,就是指数的别名

      
     <代码>这时候,前端可以通过别名去找到视图函数
      
      & lt;表单动作={% url“大山”%}方法=皃ost”比;
      & lt;输入类型=拔谋尽钡拿?皍sernmae”比;
      & lt;输入类型=" passwrod " name=皃asswd”比;
      & lt;输入类型=疤峤弧钡拿?疤峤弧北?
      & lt; form>  
      

    2.5 url映射分发(包括)
    当有上万页面时,你就得在urls . py中写上万条url匹配,造成数据量大,容易写重,容易造成结藕

      
     <代码>解决方法:在每个应用下创建一个urls . py,全局的urls . py只做一个映射
      
      2.5.1全局urls . py
      
      从django.conf。url输入url,包括
      从浏览器名称导入视图
      
      urlpattern=[
      url (r ' ^浏览器名称”,包括(appname.urls)),
      ]
      
      2.5.2应用的urls . py
      从django.conf。url输入url,包括
      
      urlpattern=[
      url (r 'page1/page1.1 views.page1) # page1是紧跟浏览器名称的内容
      url (r 'page2 views.page2),
      )

    Django基础1:静态文件,路由,视图和模板