zoukankan      html  css  js  c++  java
  • Django2.0引入css、js、img文件

    Django2.0引入css、js、img文件

    一、文件结构

    二、settings.py的配置

    1 # Static files (CSS, JavaScript, Images)
    2 # https://docs.djangoproject.com/en/2.1/howto/static-files/
    3 STATIC_URL = '/static/'
    4 STATICFILES_DIRS = (
    5     os.path.join(BASE_DIR, 'static'),  # 注意括号后面的还有个逗号
    6 )
    7 
    8 STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static')

    三、查看settings.py下的必要配置

    django.contrib.staticfiles

    四、引用模板

    分析:

    引用静态文件必须要写上:{%load staticfiles%}

    注意:如果出现如下报错:

    django.template.exceptions.TemplateSyntaxError: 'staticfiles' is not
     a registered tag library. Must be one of:
    admin_list
    admin_modify
    admin_urls
    cache
    i18n
    l10n
    log
    rest_framework
    static
    tz

    {%load staticfiles%}改为{%load static%}

    引入css文件:<link rel="stylesheet" href="{% static '/css/div.css' %}">  #如果引用css下面的div.css

    引入js文件:<script src="{% static '/js/jquery-3.3.1.js' %}"></script>  #如果引用js下的jquery文件

     1 <head>
     2     <title>Event Delegation Tests</title>
     3     {%load staticfiles%}        <!--需要添加load staticfiles-->
     4     <link rel="stylesheet" href="{% static '/css/div.css' %}">    <!--引入使用的css文件-->
     5     {%block css%}
     6     {%endblock css%}       <!--在子模板添加css文件方式-->
     7  
     8  
     9 </head>
    10  
    11 <body>
    12  
    13  
    14    <script src="{% static '/js/jquery-3.3.1.js' %}"></script>     <!--引入jquery库。必须放在js文件最前面,避免子模板出现$is not defined问题-->
    15     {%block js%}
    16     {%endblock js%}     <!--在子模板添加js文件方式-->
    17 </body>
    

    五、实际演示

    下面演示:引入jquery文件

    路由:

    1 urlpatterns = [
    2 path("ajax1.html/", ajax1),
    3 ]
    View Code

    HTML代码

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     {% load staticfiles %}
     7     <style>
     8         .btn{
     9         display:inline-block;
    10         padding:5px 15px;
    11         background:darkgoldenrod;
    12         color:white;
    13         cursor:pointer;
    14         }
    15 
    16     </style>
    17 </head>
    18 <body>
    19 <div>
    20     <!--window.location,reload-->
    21      <script src="{% static '/js/jquery-3.3.1.js' %}"></script>     <!--引入jquery库。必须放在js文件最前面,避免子模板出现$is not defined问题-->
    22     {%block js%}
    23     {%endblock js%}     <!--在子模板添加js文件方式-->
    24 
    25     <p>用户名:<input type="text" id="username"></p>
    26     <p>密码:<input type="password" id="password"></p>
    27     <div class="btn" onclick="submitForm();">
    28         提交
    29     </div>
    30     <script>
    31         function submitForm() {
    32         <!--获取值-->
    33             var u=$('#username').val();
    34             var p=$('#password').val();
    35 
    36             $.ajax({
    37                 url:'/ajax1.html',
    38                 type:'GET',
    39                 data:{username:u,password:p},
    40                 success:function(arg){
    41                     console.log(arg);
    42             }
    43             })
    44         }
    45     </script>
    46 </div>
    47 </body>
    48 </html>
    View Code

    视图函数

    1 from django.shortcuts import render,HttpResponse,redirect
    2 def ajax1(request):
    3       user=request.GET.get('username')
    4       passwd=request.GET.get('password')
    5       print(user,passwd)
    6       return render(request,"ajax.html")
    View Code

  • 相关阅读:
    CSS 文本
    javascript:void(0)的问题
    剑指offer
    牛课--C/C++
    Linux学习--第二波
    面经-csdn
    初学Linux
    二分查找法的实现和应用汇总
    vs2013下git的使用
    win10+vs2013+Qt5.4 安装方法
  • 原文地址:https://www.cnblogs.com/-wenli/p/10470063.html
Copyright © 2011-2022 走看看