zoukankan      html  css  js  c++  java
  • django学习笔记

    # 创建Django工程
    django-admin startproject 【工程名称】

     1 mysite
     2     - mysite        # 对整个程序进行配置
     3          - init
     4          - settings  # 配置文件
     5          - url       # URL对应关系
     6          - wsgi      # 遵循WSIG规范,uwsgi + nginx
     7     - manage.py     # 管理Django程序:
     8             - python manage.py 
     9             - python manage.py startapp xx
    10             - python manage.py makemigrations
    11             - python manage.py migrate

    # 运行Django功能
    python manage.py runserver 127.0.0.1:8000

    # 创建app
    python manage.py startapp cmdb
    python manage.py startapp openstack
    python manage.py startapp xxoo....


    app:
    migrations 数据修改表结构
    admin Django为我们提供的后台管理
    apps 配置当前app
    models ORM,写指定的类 通过命令可以创建数据库结构
    tests 单元测试


    views 业务代码


    1、配置模板的路径

    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',
                            ],
                        },
                    },
                ]

    2.配置静态目录

    1         static
    2     
    3         STATICFILES_DIRS = (
    4             os.path.join(BASE_DIR, 'static'),
    5         )
    6 
    7         
    8         <link rel="stylesheet" href="/static/commons.css" />

    内容整理
    1. 创建Django工程
    django-admin startproject 工程名

    2. 创建APP
    cd 工程名
    python manage.py startapp cmdb

    3、静态文件
    project.settings.py

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

    4、模板路径

    DIRS ==> [os.path.join(BASE_DIR,'templates'),]

    5、settings中

    middlerware

    # 注释 csrf


    6、定义路由规则
    url.py

    "login" --> 函数名

    7、定义视图函数
    app下views.py

    def func(request):
    # request.method GET / POST

    # http://127.0.0.1:8009/home?nid=123&name=alex
    # request.GET.get('',None) # 获取请求发来的而数据

    # request.POST.get('',None)


    # return HttpResponse("字符串")
    # return render(request, "HTML模板的路径")
    # return redirect('/只能填URL')

    8、模板渲染
    特殊的模板语言

    -- {{ 变量名 }}
            
                    def func(request):
                        return render(request, "index.html", {'current_user': "alex"})
            
                        
                    index.html
                    
                    <html>
                    ..
                        <body>
                            <div>{{current_user}}</div>
                        </body>
                    
                    </html>
                    
                    ====> 最后生成的字符串
                    
                    <html>
                    ..
                        <body>
                            <div>alex</div>
                        </body>
                    
                    </html>
                -- For循环
                    def func(request):
                        return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']})
            
                        
                    index.html
                    
                    <html>
                    ..
                        <body>
                            <div>{{current_user}}</div>
                            
                            <ul>
                                {% for row in user_list %}
                                
                                    {% if row == "alex" %}
                                        <li>{{ row }}</li>
                                    {% endif %}
                                    
                                {% endfor %}
                            </ul>
                            
                        </body>
                    
                    </html>
                    
                #####索引################# 
                    def func(request):
                        return render(request, "index.html", {
                                    'current_user': "alex", 
                                    'user_list': ['alex','eric'], 
                                    'user_dict': {'k1': 'v1', 'k2': 'v2'}})
            
                        
                    index.html
                    
                    <html>
                    ..
                        <body>
                            <div>{{current_user}}</div>
                            
                            <a> {{ user_list.1 }} </a>
                            <a> {{ user_dict.k1 }} </a>
                            <a> {{ user_dict.k2 }} </a>
                            
                        </body>
                    
                    </html>
                
                ###### 条件
                
            def func(request):
        return render(request, "index.html", {
                        'current_user': "alex", 
                        "age": 18,
                        'user_list': ['alex','eric'], 
                        'user_dict': {'k1': 'v1', 'k2': 'v2'}})
            
                        
    index.html
    <html>
        ..
        <body>
            <div>{{current_user}}</div>
                            
                <a> {{ user_list.1 }} </a>
                <a> {{ user_dict.k1 }} </a>
                <a> {{ user_dict.k2 }} </a>
                            
                {% if age %}
                <a>有年龄</a>
                    {% if age > 16 %}
                        <a>老男人</a>
                    {% else %}
                        <a>小鲜肉</a>
                    {% endif %}
                {% else %}
                    <a>无年龄</a>
                {% endif %}
        </body>
                    
    </html>
  • 相关阅读:
    【bzoj2724】[Violet 6]蒲公英 分块+STL-vector
    【bzoj4026】dC Loves Number Theory 可持久化线段树
    【bzoj3744】Gty的妹子序列 分块+树状数组+主席树
    【bzoj3166】[Heoi2013]Alo 可持久化Trie树+STL-set
    【bzoj3060】[Poi2012]Tour de Byteotia 并查集
    【bzoj3510】首都 LCT维护子树信息(+启发式合并)
    【bzoj4530】[Bjoi2014]大融合 LCT维护子树信息
    【bzoj3261】最大异或和 可持久化Trie树
    【bzoj2081】[Poi2010]Beads Hash
    【bzoj4260】Codechef REBXOR Trie树
  • 原文地址:https://www.cnblogs.com/luozeng/p/7339520.html
Copyright © 2011-2022 走看看