web-Django-配置
Django:
Django是为了网站开发人员所设计的以Python语言所编写的网站框架,可以迅速的协助👨💻程序员建立全功能的网站,透过MVC的观念把视图可控制逻辑分隔开,让我们不用担心网站通信协定的琐碎细节,从而专心在想要建立的功能上。
每当server端接收到来自浏览器的请求的时候,Django中的某些文件就会被执行,我们可以通过编写Python代码来进行需要的处理,运算的需求,提供更多的网站服务。而且Django的强大之处还在于可以让一些外部的第三方网站功能模块轻松地加入到我们所搭建的网站中,扩充网站能力的方式更加容易。
Django相较与其他WEB框架其优势为:框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。
安装:
终端运行 pip3 install django 创建django程序: 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令
启动服务:
python3 manage.py runserver 127.0.0.1:8080
Django常用命令
python manage.py runserver 0.0.0.0
python manage.py startapp appname
python manage.py syncdb
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
文件目录结构:
模板文件配置:
当接收用户请求之后,我们通常将html文件的内容转换成字符串发送给用户,为了方便管理与操作,会把模板(Html)规划到同一个文件夹中,这个文件夹的路径在settings.py中进行设置
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', # 设置模板文件夹,设置后在render中可直接通过文件名称直接访问HTML文件 'DIRS': [os.path.join(BASE_DIR,'template')], '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', ], }, }, ]
静态文件配置:
在编写模板HTML文件的时候,我们需要用到CSS、JavaScript和image,为了更好的管理文件,我们把静态文件都存放到一个文件夹中,这时候就需要在settings.py中进行设置:
# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.11/howto/static-files/ #静态文件目录设置 凡是URL中带有static文件夹字段,就会自动寻找static文件夹内的文件(静态文件) STATIC_URL = '/static/' STATICFILES_DIRS =( os.path.join(BASE_DIR,'static'), # 这里必须要加逗号,否则报错。 )
其他配置:
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', ]
数据库配置:
原本Django自带数据库默认配置为sql
# DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } # }
这里更换成mysql并配置相关信息 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称', 'USER': 'root', 'PASSWORD': 'xxxxx', 'HOST': '', 'PORT': '', } }
并且要在settings.py同文件夹下的init.py添加:
import pymysql pymysql.install_as_MySQLdb()
更多:web-框架本质