Day1-Django框架
1.Django
1)python web框架
- Web.py
- Flask:轻量级,异步(流行)
- tornado:并发(流行)
- Django:web应用框架,代码开元,采用mvc框架模式(流行)
- sanic:新兴的
- docker:虚拟环境
-
mvc:model-模型-对数据库数据进行curd操作(与数据库进行交互),view-视图-将数据在屏幕上显示(负责把页面渲染展示给用户),control-控制器-处理业务逻辑(业务逻辑层)
mvt:model-负责业务与数据库的对象,view-负责业务逻辑并适当条用model和Template,Template:负责把页面渲染展示给用户,url分发器(路由)
注意:让各组件之间保持耦合关系
2)虚拟环境(virtualenv/虚拟商盒):用于解决不同库不同版本之间的兼容问题
-p PYTHON_EXE, --python=PYTHON_EXE :-p指定python版本
--no-site-packages 指定虚拟环境中没有多余的包,除了指定的包外
- 安装djenv5
安装virtualenv
C:\Users\Administrator>pip3 install virtualenv
cd D:\python_process3\evns
安装djenv5
D:\python_process3\evns3.6>virtualenv -p D:\Python3.6\Python.exe --no-site-packages djenv5
查询包:
D:\python_process3\evns3.6>pip list
进入虚拟环境:
cd djenv5
cd Scripts
activate
查看包:
(djenv5) D:\python_process3\evns3.6\djenv5\Scripts>pip list
退出djenv5:
deactivate
-
安装Django虚拟环境
(djenv5) D:\python_process3\evns3.6\djenv5\Scripts>pip install django==1.11
-
创建项目:
(djenv5) D:\python_process3\projects\Day1_Django1>django-admin startproject Django1
- 配置虚拟环境:在PyCharm里面
file->setings->project:Django1->project interpreter->all show ->+ ->Existing environment->D:\python_process3\evns3.6\djenv5\Scripts->Python.exe然后一路OK
2.manage.py
- changepassword
- createsuperuser
- makemigrations:
- migrate:
- startapp:
- runserver
3.连接数据库
- 创建app:
(djenv5) D:\python_process3\projects\Day1_Django1\Django1>python manage.py startapp app - 导入pymysql:(djenv5) D:\python_process3\projects\Day1_Django1\Django1>pip install pymysql
- 修改参数:
Django.py->settings.py->INSTALLED_APPS末行添加:'app',
Django.py->settings.py->DATABASES 修改或添加
TABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#数据库类型
'NAME':'dj5',#数据库名
'USER':'root',#用户
'PASSWORD':'123456',#密码
'HOST':'127.0.0.1',#服务器地址
'PORT':'3306'#端口号
}
Django.py->settings.py #修改数据
# 设置语言
LANGUAGE_CODE = 'zh-hans'
# 设置时区
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
运行项目:(djenv5) D:\python_process3\projects\Day1_Django1\Django1>:输入内容
python manage.py runserver
显示:http://127.0.0.1:8000
-
迁移:
python manage.py makemigrations(自定义表或修改表后,要使用该指令)-->创建模型:app\migrations\0001_initial.py - Create model Student
python manage.py migrate
进入自带登录界面:http://127.0.0.1:8000/admin
-
添加用户操作:
python manage.py createsuperuser
Username (leave blank to use 'administrator'): admin #用户
Email address: 123456@qq.com #qq
Password: #密码
Password (again): #确认密码
进入自带登录界面,输入用户和密码:http://127.0.0.1:8000/admin
-
添加表
打开app ->models.py
添加:
class Student(models.Model):
s_name=models.CharField(max_length=10,unique=True)
s_age=models.IntegerField(default=16)
class Meta:
db_table='student'
- 添加功能:
打开:app->admin.py
from app.models import Student
class StudentAdmin(admin.ModelAdmin):
# 修改管理后台展示列表的字段
list_display = ['id','s_name','s_age']
# 过滤
list_filter = ['s_age','s_name']
# 搜索
search_fields = ['s_name']
# 分页
list_per_page = 2
admin.site.register(Student,StudentAdmin)