目录
- 安装与配置
- 三板斧
1、安装与配置
1、安装
pip install django==1.11.11
2、创建项目
django-admin startproject djangoproject
3、运行项目
python manage.py runserver 127.0.0.1:8000
4、创建app
python manage.py startapp app01
5、配置app
在settings内找到INSTALLED_APPS配置项,修改以下配置
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config', # 在列表下面增加app,可以写全路径
'app02' , # 也可以只写app名
]
5、静态文件配置
1、创建静态文件存放目录static
2、在settings内STATIC_URL下面增加语句
STATIC_URL = '/static/' # 这settings下找到STATIC_URL
STATICFILES_DIRS = [ # 增加此项配置
os.path.join(BASE_DIR, "static"),
]
6、模板文件配置
1、创建templates目录
2、在settings内找到TEMPLATES配置项,修改一下配置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, "template")], # 配置此行,为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',
],
},
},
]
7、替换数据库
1、在settings里找到DATEBASE配置项,修改以下配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 修改数据库类型
'NAME': 'db1', # 修改数据库名
'HOST': '127.0.0.1', # 增加数据库ip
'PORT': 3306, # 增加数据库端口
'USER': 'root', # 增加数据库用户
'PASSWORD': '123456', # 增加数据库密码
‘CHARSET’: ‘utf8’, # 增加编码
'AUTOCOMMIT': True, # 增加自动提交
}
}
在settings.py同目录下的__init__.py文件中,指定使用pymysql模块代替MySQLdb,增加以下代码
import pymysql
pymysql.install_as_MySQLdb()
8、暂时屏蔽中间件
在settings内找到MIDDLEWARE配置项,修改以下配置
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',
]
2、三板斧
HttpResponse:返回字符串
render:返回html文件
redirect:重定向
使用前先导入:from django.shortcuts import render, HttpResponse, redirect
HttpResponse
内部传入一个字符串参数,返回给浏览器。
实例:
def index(request):
# 业务逻辑代码
return HttpResponse("OK")
render
除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。
将数据填充进模板文件,最后把结果返回给浏览器。
实例:
def index(request):
# 业务逻辑代码
return render(request, "index.html", {"name": "a", "hobby": ["学习", "游戏"]})
redirect
接受一个URL参数,表示跳转到指定的URL。
def index(request):
# 业务逻辑代码
return redirect("/home/")