##新建项目html
django-admin startproject my_site #会在当前目录新建my_site目录,可自行修改目录名 django-admin startproject my_site . #会在当前目录直接创建my_site项目
项目建立完成后,接着建立app。app至关于网站的功能,每一个app表明网站的一个或多个网页。python
python managy.py startapp index python managy.py startapp user
启动服务器mysql
python manage.py runserver
<br> ##基本配置信息 ```python import ossql
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))数据库
SECRET_KEY = 'o017!*o4nd8(z$8)-n-i-%3c$y#8r2os@j8-#-9n47i2e6q005'django
DEBUG = True浏览器
ALLOWED_HOSTS = []服务器
INSTALLED_APPS = [ 'django.contrib.admin', # 内置的后台管理系统 'django.contrib.auth', # 内置的用户认证系统 'django.contrib.contenttypes', # 记录项目中全部model元数据 'django.contrib.sessions', # 用于标识当前访问网站的用户身份,记录相关用户信息 'django.contrib.messages', # 消息提示功能 'django.contrib.staticfiles', # 查找静态资源路径(静态资源指在网站中不会改变的文件,如CSS文件、JavaScript文件、图片等) 'index', # 本身定义的app 'user', ]session
###### 在中文版中,“应用程序”对应于“application”,“应用”对应于“app”。在通常的 Web 开发中,这两者几乎没什么区别,可是在 Django 中两者有一个明显的区别:application 是指一个完整的 Web 程序,而 app 是指一个可复用的包,能够“插入”其余Django 应用程序中。 <br> ##静态资源 静态资源指在网站中不会改变的文件,如CSS文件、JavaScript文件、图片等,这些文件的存放主要由settings.py配置,配置信息以下: ```python # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.2/howto/static-files/ STATIC_URL = '/static/'
上述配置文件将静态资源放在文件夹static,而static文件夹只能放在App里面。浏览器输入http://127.0.0.1:8000/static/01.png会显示图片。若把static文件夹放在根目录会显示404。若要放在根目录,则要在settings.py中配置STATICFILES_DIRS属性oracle
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
配置好之后在浏览器中输入http://127.0.0.1:8000/static/01.png即会显示图片 <br> ##模板路径 模板是一种特殊的html文档,其嵌入了一些python能识别的变量和指令,程序解析这些指令,生成HTML网页返回给用户浏览。
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', #定义模板引擎,用于识别模板里的变量和指令。 'DIRS': [], #设置模板所在路径 'APP_DIRS': True, #是否在App里查找模板文件 'OPTIONS': { #用于填充在RequestContext中上下文的调用函数,通常不作修改 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
模板配置通常配置DIRS便可。在项目的根目录和index文件夹内分别建立templates文件夹,配置以下
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'index/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', ], }, }, ]
<br> ##数据库配置 Django提供四种数据库引擎: 'django.db.backends.postgresql' 'django.db.backends.mysql' 'django.db.backends.sqlite3' 'django.db.backends.oracle' 默认使用Sqlite3数据库 ```python # Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
若要使用MySQL,先安装MySQL链接模块mysqlclient(直接使用pip安装便可),接着在MySQL新建数据库
SHOW DATABASES; CREATE DATABASE my_db CHARACTER SET utf8;
而后在settings.py中进行配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'my_db', 'USER': 'root', 'PASSWORD': '123456', 'HOST': '127.0.0.1', 'POST': '3306', } }
<br> ##中间件 ```python 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', ] ```