zoukankan      html  css  js  c++  java
  • 内容整理以及补充

    1、创建Django工程

    django-admin startproject  工程名
    

    2、创建app

    cd 工程名
    python mange.py  startapp app名 
    

    3、静态文件

    project.settings.py =>

    STATICFILES_DIRS = [
                          os.path.join(BASE_DIR,"static"),
                       ]
    

     4、模板路径

    project.settings.py =>TEMPLATES中增加 DIRS

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR,'templates')],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
    
                ],
            },
        },
    ]
    

     5、settings中

     middlerware #注释csrf

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    

     6、定义路由规则

    project下的url.py 
                login -->函数名
    

    7、定义视图函数

     app下的views.py

    def func(request):
            #request.method   GET /POST方法
     
            #http:127.0.0.1:8000/home?nid=123&name=zhangqigao
            #request.GET.get('',None)  #获取get请求发来的数据
     
            #request.POST.get('',None)  #获取post请求发来的数据
             
            # return HttpResponse("字符串")
            # return render(request,"HTML模板路径")
            # return redirect('/只能填写url')  #url前面的斜杠 / 代表ip+端口,本地的话就是:127.0.0.1:8000,所以不能省略
    

     8、模板渲染

    取变量名

    {{变量名}}

    视图函数 view.py,第三个参数传入一个字典

    def func(request):
        return render(request,"index.html",{'current_user':"ccc"})  #这边传入字典
    

     html模板,取变量的值current_user

    <div>{{current_user}}</div>   #这边获取值,{{key值}}
    
    总结

    视图函数做的三件事情,

    1、先把html模板拿过来。

    2、再把值和模板进行渲染

    3、将替换好的值的html,生成新的字符串,整体返回给用户

    这个替换是什么时候做的呢?是返回给用户的一刹那之前,做的替换。所以浏览器拿到字符串的时候,永远是被渲染完毕的字符串(已完成替换)。

    for循环

    user_list传一个列表

    def func(request):
        return render(request,"index.html",{'current_user':"ccc",'user_list':['alex','eric']}) 
    

     这里要循环user_list

    <ul>
        {% for row  in user_list %}
            <li>{{row}}</li>
        {% ednfor %}
    </ul>
    
     索引

    def func(request):
        return render(request,
        "index.html",{'current_user':"ccc",
        'user_list':['alex','eric'],
        'user_dict':{'k1':'v1','k2':'v2'}}) 

    index.html的内容如下:
    #列表的根据索引去值方法
    <a>{{user_list.0}}</a>
    <a>{{user_list.1}}</a>
     
    #字典根据索引取值方法
    <a>{{user_dict.k1}}</a>
    <a>{{user_dict.k2}}</a>
    条件

     def func(request):
        return render(request,
        "index.html",{'current_user':"ccc",
        'age':18,
        'user_list':['alex','eric'],
        'user_dict':{'k1':'v1','k2':'v2'}}) 

    index.html内容如下:
    嵌套if....elif...else....:
    {% if age %}    #age为18,所以为true
        <a>有年龄</a>
        {% if age > 16 %}  #比较大小
            <a>老男人</a>
       {% elif age >18 %}
         <a>小男人</a>
        {% else %}
            <a>小鲜肉</a>
        {% endif %}
    {% else %}
        <a>无年龄</a>
    {% endif %}
    

     if语句嵌套在for循环当中:

     
    <ul>
           {% for row in user_list %}
                  {% if row == "zhangqigao" %}
                           <li>{{row}}</li>
                  {% endif %}
           {% endfor %}
    </ul>
    
  • 相关阅读:
    小小杨的影视空间
    关于励志的事情
    关于2020年的总结
    关于心情不好的时候
    关于我的2020年
    单链表基本操作的实现
    原型模式
    android—安卓系统文件目录结构
    android——apk安装文件的组成结构
    android——项目的组成结构
  • 原文地址:https://www.cnblogs.com/meihan/p/12516212.html
Copyright © 2011-2022 走看看