安装 pip install django
环境变量: C:\Program Files\Anaconda3\Scripts

django-admin startproject mysite 创建django工程
mysite目录
    -mysite            #对整个程序进行配置
        - __init__
        -settings      #配置文件
        -urls           #URL对应关系
        -wsgi           #规则 接口 用于帮组django创建socket 遵循wsgi规范 正式用的是uwsgi+nginx
    -manage.py   #管理django程序
                   - python manage.py 运行django
                   - python manage.py startapp  创建app
                   - python manage.py makemigrations orm框架 自动生成数据库 操作数据库
                   - python manage.py migrate  orm框架 自动生成数据库 操作数据库

 python.exe manage.py runserver 127.0.0.1:8000 启动django web页面

 支持wsgi接口的模块:
    server_names = {
    'cgi': CGIServer,
    'flup': FlupFCGIServer,
    'wsgiref': WSGIRefServer,
    'waitress': WaitressServer,
    'cherrypy': CherryPyServer,
    'paste': PasteServer,
    'fapws3': FapwsServer,
    'tornado': TornadoServer,
    'gae': AppEngineServer,
    'twisted': TwistedServer,
    'diesel': DieselServer,
    'meinheld': MeinheldServer,
    'gunicorn': GunicornServer,
    'eventlet': EventletServer,
    'gevent': GeventServer,
    'geventSocketIO':GeventSocketIOServer,
    'rocket': RocketServer,
    'bjoern' : BjoernServer,
    'auto': AutoServer,
}

ORM:关系对象映射

chouti
    -chouti
        -配置
    -主站 app
    -后台管理 app

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

app:
    migrations 数据库操作记录 修改表结构的记录
    admin  django提供的后台管理
    建表会报错参照 https://blog.csdn.net/jiangxunzhi123/article/details/86160146
    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,配置静态目录:
STATIC_URL = '/static/'
STATICFILES_DIRS=(
  os.path.join(BASE_DIR,'static'),
)

<link rel="stylesheet" href="/static/commons.css"/>
<script src="/static/jquery-1.12.4.js"></script>

url提交是get
submit提交是post

settings中
    middlerware
        #注释csrf

GET:获取数据
POST:提交数据

定义路由规则:
url.py
    "login"  --->函数名

定义视图函数
    app下的views.py
    def func(request):
        #request.method  GET/POST

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

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

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

模板渲染
   特殊的模板语言
   --{{变量名}}

    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':['lei','leo']})

    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':['lei','leo'],
                                            'user_dict':{'k1':'v1','k2':'v2'}})

    index.html
    <html>
        <body>
            <div>{{current_user}}</div>
            <a>{{user_list.0}}</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':['lei','leo'],
                                            'user_dict':{'k1':'v1','k2':'v2'}})

    index.html
    <html>
        <body>
            <div>{{current_user}}</div>
            <a>{{user_list.0}}</a>
            <a>{{user_dict.k1}}</a>
            <a>{{user_dict.k2}}</a>

            {% if age %}
                <a>有年龄</a>
                {% if age > 19 %}
                    <a>老了</a>
                {%else%}
                    <a>小鲜肉</a>
                {%endif%}
            { else}
               <a>false</a>
            {%endif%}

        </body>
    </html>

django请求生命周期
    用户--->URL对应关系(匹配) -->视图函数 -->返回给用户(字符串)
    用户--->URL对应关系(匹配) -->视图函数 -->打开一个HTML文件,读取内容

作业:
XXOO管理:
    mysql
    sqlalchemy
    主机管理表:
        Ip
        端口
        业务线
        ...

    用户表:
        用户名
        密码

    功能:
        1,登录
        2,主机管理页面
            -查看所有的主机信息(4列)
            -增加主机信息(8列) ** 模态对话框
        3,查看详细
            url:
                "detail" -->detail
            def detail(request):
                nid=request.GET.get("nid")
                v=select * from tb where id=nid;
                ...

        4,删除
            del_host ->delete _host
            def delete_host(request):
                nid=request.POST.get('nid')
                delete from tb where id=nid
                return redirect('/home')

django笔记补充的更多相关文章

  1. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  2. Django组件补充(缓存,信号,序列化)

    Django组件补充(缓存,信号,序列化) Django的缓存机制 1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑 ...

  3. Python学习---django知识补充之CBV

    Django知识补充之CBV Django: url    -->  def函数      FBV[function based view]  用函数和URL进行匹配 url    --> ...

  4. Django 知识点补充

    Django 知识点补充 1 Django如何在Model保存前做一定的固定操作,比如写一条日志 (1)利用Django的Model的Signal Dispatcher, 通过django.db.mo ...

  5. Django笔记 —— Admin(Django站点管理界面)

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  6. Django笔记 —— 模型

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  7. Django笔记 —— MySQL安装

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  8. Django笔记 —— 模板

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  9. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD

  10. django笔记三之admin的管理

    django笔记三之admin的管理 设置自动admin应用 vim todos/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 新版本已 ...

随机推荐

  1. JSONObject String、实体类 list 转换

    JSONObject获取java list JSONObject  -->> JSONArray jsonObject  .getJSONArray("list") J ...

  2. 【小技巧】如何使上线前初始化数据的SQL脚本可测试?

    背景 有时候,我们在上线某些特性时,可能需要提前初始化数据,才能使功能正常运作. 初始化数据,常用的有以下两种途径: 单纯为了这个初始化数据,开发一个Excel文件导入功能 开发人员维护SQL语句初始 ...

  3. Python - [03] 基础语法

    题记部分 一.标识符 第一个字符必须是字母表中字母或下划线_ 标识符的其他部分由字母.数字和下划线组成 标识符对大小写敏感 二.Python保留字 三.注释 (1)单行注释:以#开头 #!/usr/b ...

  4. MD5 - windows也可以查询某个文件的MD5码

    命令格式 certutil -hashfile 文件名称 md5 示例 Microsoft Windows [版本 10.0.22621.1702] (c) Microsoft Corporation ...

  5. FastAPI路由与请求处理进阶指南:解锁企业级API开发黑科技 🔥

    title: FastAPI路由与请求处理进阶指南:解锁企业级API开发黑科技 date: 2025/3/3 updated: 2025/3/3 author: cmdragon excerpt: 5 ...

  6. 【ABAQUS后处理】打印视口到文件

    abaqus cae 允许您在画布上打印一个或多个视口的快照,并将图像直接发送到打印机或文件以供以后使用,例如包含在嵌入打印报告的演示文稿中或以 html 格式显示document 打印的图像将在画布 ...

  7. AXUI一个面向设计的UI前端框架,好用

    以下是官方介绍: ax的中文意义是:斧子,读音[aeks],取其攻击力强.简单实用之意为本前端框架命名.本团队开发了诸多网站项目,使用了许多常见的前端框架,结合实际项目经验,借鉴了同行的经验,特自主开 ...

  8. mysql -- 自定义函数及循环结构

    和存储过程类似,区别在于存储过程可以有0个或多个返回,但是函数只能有唯一一个返回值 一般而言,存储过程适合批量插入,批量删除,增删改:函数则用于处理数据,查询某个值. 创建 create functi ...

  9. Ollama——大语言模型本地部署的极速利器

    1.概述 Ollama 是一款开源跨平台大模型工具,主要用于在本地便捷部署和运行大型语言模型(LLM),核心目标是降低用户使用大模型的门槛,同时保障数据隐私.核心功能与特点如下: (1)本地部署,隐私 ...

  10. mysql存储过程之循环遍历查询结果集

    mysql存储过程之循环遍历查询结果集 -- 创建存储过程之前需判断该存储过程是否已存在,若存在则删除 DROP PROCEDURE IF EXISTS init_reportUrl; -- 创建存储 ...