zoukankan      html  css  js  c++  java
  • Django 框架基础

    WEB框架

    MVC

    Model       View       Controller
    数据库      模板文件       业务处理
    

    MTV

    Model    Template     View
    数据库     模板文件    业务处理
    

    Django

    Django 请求的生命周期:路由系统(url.py) -> 视图函数(app.views.py)(获取模板+数据->渲染) -> 字符串返回给用户

    安装Django模块

    点击这里查看安装第三方模块方法
    pip install django

    创建Django工程

    django-admin startproject mysite[工程名称]

    工程目录:

    mysite
    	- mysite        # 对整个程序进行配置
    		- init
    		- settings  # 配置文件
    		- url       # URL对应关系
    		- wsgi      # 遵循WSIG规范,uwsgi + nginx
    	- manage.py     # 管理Django程序:
    						- python manage.py 
    						- python manage.py startapp xx
    						- python manage.py makemigrations
    						- python manage.py migrate
    
    运行Django功能

    python manage.py runserver 127.0.0.1:8000

    创建app

    python manage.py startapp cmdb [app名称]

    app目录结构:

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

    点击这里查看连接数据库方法

    创建Django工程步骤:

    1.创建Django工程
    django-admin startproject mysite(工程名)

    2.创建APP
    cd mysite(进入Django工程所在地目录)
    python manage.py startapp cmdb(app名)

    3.静态文件路径
    在project.settings.py文件最后加上以下代码

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

    html文件中导入css/js文件:

    <link rel="stylesheet" href="/static/commons.css" />
    <script src="/static/jQuery-3.4.0.min.js"></script>
    

    4.模板路径
    project.settings.py
    'DIRS': [os.path.join(BASE_DIR, 'templates')]

    5.settings.py中将中间那条注释掉
    刚开始还没有学习到有关CSRF的知识,先不用
    点击这里查看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.定义路由规则
    url.py:
    导入views:
    from cmdb import views

    写入地址名对应的函数:
    path('url地址', views.views中的函数名),

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('index/', views.index),
    ]
    

    7.定义视图函数
    views.py:

    def func(request):
        request.method   # 获取提交方式( GET/POST)
        # GET提交数据的方式:http://127.0.0.1:8000/home?nid=123&name=bob	
        request.GET.get('',None)   # 获取请求用GET发来的数据
        request.POST.get('',None)  # 获取请求用POST发来的数据
    	
    	# 以下使用时需要先导入相应模块
    	# return HttpResponse("返回字符串")
    	# return render(request, "返回HTML模板的路径")
    	# return redirect('/只能填URL')
    

    8.模板渲染
    通过特殊的模板语言 Django模版

  • 相关阅读:
    【BZOJ 4581】【Usaco2016 Open】Field Reduction
    【BZOJ 4582】【Usaco2016 Open】Diamond Collector
    【BZOJ 4580】【Usaco2016 Open】248
    【BZOJ 3754】Tree之最小方差树
    【51Nod 1501】【算法马拉松 19D】石头剪刀布威力加强版
    【51Nod 1622】【算法马拉松 19C】集合对
    【51Nod 1616】【算法马拉松 19B】最小集合
    【51Nod 1674】【算法马拉松 19A】区间的价值 V2
    【BZOJ 2541】【Vijos 1366】【CTSC 2000】冰原探险
    【BZOJ 1065】【Vijos 1826】【NOI 2008】奥运物流
  • 原文地址:https://www.cnblogs.com/dbf-/p/10801437.html
Copyright © 2011-2022 走看看