1. 下载:
命令行:
pip install django==1.11.15
pip install -i 源 django==1.11.15
pycharm
settings 解释器 点+号 输入django 选择版本
2. 创建django项目
1. 命令行
cd 保存项目的目录
django-admin startproject 项目名
2. pycharm
file ——》 new project ——> 选择django ——> 选择解释器 ——》 创建django项目
3. 启动项目
1. 命令行:
cd manage.py 的目录下
python manage.py runserver # 127.0.0.1:8000
python manage.py runserver 80 # 127.0.0.1:80
python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80
2. pycharm
配置项
点绿色三角启动
4. settings配置
1. 静态文件
STATIC_URL = '/static/' # 别名
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
os.path.join(BASE_DIR,'static1'),
]
2. TEMPLATES 模板 HTML文件
DIRS [os.path.join(BASE_DIR, 'templates')]
3. 注释csrf中间件
4. 数据库的配置(详见第7大点)
5. URL和函数的对应关系 ——> urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^login/', views.login),
url(r'^index/', views.index),
url(r'^test/', views.test)
]
6. APP
1. 创建APP
1. 命令行
python manage.py startapp app01
2. pycharm
tools ——> run manage.py task ——> startapp app01
2. 注册APP
在settings.py中的INSTALLED_APPS写:
‘app01’ 或者 'app01.apps.App01Config'
7. 使用MySQL数据库
1. 创建一个MySQL数据库
2. settings的配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 引擎
'NAME': 'day66', # 数据库名
'USER':'root', # 用户名
'PASSWORD':'', # 密码
'HOST':'127.0.0.1', # IP
'PORT': 3306, # 端口号
}
}
3. 告诉django使用pymysql模块连接数据库
在settings.py同级目录下的__init__.py中写:
import pymysql
pymysql.install_as_MySQLdb()
4. 建表 在app01/models.py中写类(继承models.Model)
class Userinfo(models.Model):
user = models.CharField(max_length=32) # varchar(32)
pwd = models.CharField(max_length=32)
5. 执行数据库迁移命令
python manage.py makemigrations # 记录models.py中类是不是有变化 将变化的内容记录下来
python manage.py migrate # 将model的变更同步到数据库中
8. ORM
对象和关系型数据库的映射 通过操作对象的方式来操作数据库
映射关系;
类 —— 》 数据表
对象 —— 》 数据行
属性 —— 》 字段
ORM能做的事:
操作数据表
操作数据行
ORM操作:
from login import models
# 获取所有数据
models.Userinfo.objects.all() ——》 Queryset
# 获取一条数据
models.Userinfo.objects.get(user='alex',pwd='alexdsb')
取不到数据或者取到多条数据的时候报错
# 创建一条数据
models.Userinfo.objects.create(user='alex',pwd='alexdsb')
9. form表单
1. method='post' action='' 请求方式 提交数据的地址
2. 所有的input的标签要有name属性
3. 有一个input的type=‘submit’ 或者有一个button按钮
10. GET 和 POST
GET:获取一个页面
?key1=v1&key2=v2
POST: 提交数据
11. views.py 写函数
request 跟请求相关的所有内容
request.method 字符串 请示方式 GET/POST
request.POST POST请求提交的数据 字典
request.GET GET请求提交的数据
返回值
from django.shortcuts import HttpResponse,render,redirect
HttpResponse('字符串') ——》 页面显示的就是'字符串'
render(request,'模板文件名') ——》 渲染你的HTML文件返回给浏览器
redirect('要跳转的URL') ——》 重定向 告诉浏览器再向URL再发一次GET请求