本文共 2301 字,大约阅读时间需要 7 分钟。
a. 接收浏览器发送的消息
b. 根据不同的路径返回不同的内容c. 通过字符串替换 实现 动态网页Python Web框架分类:
另外一个维度的分类:
pip install django==1.11.9
新建Django项目
- django-admin startproject 项目名
Django 设置 settings.py文件中
- 注释掉 csrf相关的那一行(大概是46行!)
- 配置html文件相关
- 配置静态文件相关 /static/
基础必备的三件套
- HttpResponse --> 字符串
- render() --> HTML文件 --> 打开HTML文件并且完成字符串的替换
- redirect(“/book_list/”) --> 跳转
- input一定要放在form表单里面,并且 input 要有name属性
- form表单里面触发提交操作 一定要有submit按钮!!! <input type="submit" value="提交">
- 要指定form表单提交的URL(action属性) 并且指定提交的方法(method属性) {"email": "alex@1.com", "pwd": "alexdsb"}
类 ==> 数据表
属性 ==> 字段
对象 ==> 数据行
自己用SQL语句建个数据库
create database s20;
告诉Django去哪儿连数据库
在settings.py文件中设置:DATABASES = {'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 's20', 'HOST': "127.0.0.1", 'PORT': 3306, 'USER': "root", "PASSWORD": "123",}}
project/init.py文件中:
import pymysqlpymysql.install_as_MySQLdb()
class Book(models.Model):
定义一个自增的ID主键id = models.AutoField(primary_key=True)定义一个最大长度为32的varchar字段title = models.CharField(max_length=32)
- python manage.py makemigrations --> 用小本本记录 app/models.py文件的任何改动
- python manage.py migrate --> 把上面的改动翻译成SQL语句,然后去数据库中执行makemigrations会在当前目录下生成一个migrations文件夹,该文件夹的内容就是数据库要执行的内容migrate就是执行之前生成的migrations文件,这一步才是操作数据库的一步
Book.objects.create(title="书名")
models.Book.objects.get(id=2).delete()
obj = models.Book.objects.get(id=1)
obj.title = "番茄物语 第二版"obj.save() --> 把改动同步到数据库中!!!
查单个:
obj = models.Book.objects.get(id=1)查所有:objs = models.Book.objects.all()
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR指的就是你这个Django项目存放的路径
'DIRS': [os.path.join(BASE_DIR, 'templates')]
告诉Django 模板文件到这个文件夹下找
STATIC_URL = '/static/'STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), os.path.join(BASE_DIR, "static99"), #可以设置多个地址]
告诉Django静态文件所在地(CSS,JS等文件)
其中STATIC_URL = '/static/'相当于别名,指向的是下面STATICFILES_DIRS中的地址,STATICFILES_DIRS中可以设置多个地址,Django会轮训查找里面的内容
这样就可以把不同的静态文件放在不同的目录,在模板中引用时直接加上/static/这一个名字就可以了
示例:注意:
如果static目录放在app中,那么可以不写STATICFILES_DIRS,Django会去每个项目里找static目录转载于:https://blog.51cto.com/dzm911/2096948