django-01

2019-06-12

MVC架构

MVC架构模式 --- 内容和显示分离 --- MTV

M - Model - 数据 -M

V - View - 视图(显示) - T(模板页面)

C - Controller - 控制器(连接M和V的桥梁) - V(视图类视图函数)

django基础

  1. pycharm新建项目,选择虚拟环境
  2. 进入终端运行的命令:
  • pip install django==2.1.8
  • django-admin --version
  • pip freeze > requirements.txt 于记录所有依赖包及其精确的版本号。以便新环境部署。
  • django-admin startproject django1902_1(django项目名与建的项目名保持一致) . (有一个点)
  • python manage.py runserver ---运行文件 或者右上角设置
  • django-admin startapp poll(应用名) 或者
    python manage.py startapp --建一个自己的应用
  • python manage.py createsuperuser -- 创建超级管理员

3.django文件夹目录下的4个文件:
init.py:
settings.py:项目的配置文件
改文字为中文

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Chongqing'

USE_I18N = True

USE_L10N = True

USE_TZ = True

urls.py:项目的url映射文件
wsgi.py:web服务器的网端接口文件

manage.py:django项目的管理工具

4.app应用下的文件

  • init.py:初始化文件 同样也标志我们的app可以被引用
  • admin.py:它是我们的后台管理工具 , 后期我们的可以通过他管理我们的model和数据库。这里可以修改管理员界面,将Subject模型注册到管理后台
from django.contrib import admin

from poll.models import Fruit


class FruitAdmin(admin.ModelAdmin):
    list_display = ('no', 'name', 'intro', 'fav')
    search_fields = ('name', )
    ordering = ('no', )

# 将Fruit模型注册到管理后台
admin.site.register(Fruit, FruitAdmin)


改管理界面的名字

from django.apps import AppConfig


class Poll2Config(AppConfig):
    name = 'poll2'
    verbose_name = '学科投票'

# 还要在__init__文件中写
default_app_config = 'poll2.apps.Poll2Config'
  • apps.py:这个是django的生成app名称的文件
  • models.py:模型文件 里面放的都是数据库表的映射
  • tests.py:测试文件
  • views.py:视图函数文件 --响应浏览器的请求request并回复response(通过url.py中的url映射实现交互)
  • migrations:我们的数据迁移包 , 他是负责迁移文件 , 生成数据库表数据 , 后期我们要使用他去结合models生成数据库表
    python manage.py makemigrations:生成迁移文件
    python manage.py migrate:执行迁移文件

5.新建文件夹templates

  • 建index.html
    里面是前端界面的模板(动态的用Vue)
  • 动态的变量可以从views.py中获取
    也可用 -- 后端渲染 - 服务器直接将数据填到模板页上生成完整的页面
return render(request, 'index.html', locals())
  • 前端渲染 - 服务器只给JSON数据不负责渲染页面,渲染页面的工作交给浏览器的JavaScript来完成

6.连接数据库
models.py是数据库的模板文件

  • 该settings.py中的

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django1903',
        'HOST': '47.100.164.252',
        'PORT': 3306,
        'USER': 'root',
        'PASSWORD': '123456',
        'CHARSET': 'utf8',
        'TIME_ZONE': 'Asia/Chongqing'
    }
}
  • 建一个数据库
    create database 数据库名 default charset utf8;
  • 改项目名下的init文件,连接数据库
import pymysql

pymysql.install_as_MySQLdb()
  • 写模板,写完后
    python manage.py makemigrations 应用名 ------(生成迁移文件)
    python manage.py migrate -------执行迁移文件
  1. 在项目中新建templates文件夹
    改setting中的下面代码,,主要是 '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',
            ],
        },
    },
]

8.改setting中的最下面代码,建新文件夹assets,保持静态内容

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'assets'), ]

9.配置Django-Debug-Toolbar看100天第46天报表和日志
最后

你可能感兴趣的:(django-01)