Python学习17
Django
学习内容:
1、配置windows的Django环境
2、创建第一个Django项目
3、编写第一个视图
4、django中的数据迁移(迁移到mysql)
5、django的MVC模型
1、配置windows的Django环境
在windows的管理者窗口(cmd)输入:pip install django
如果存在无法正常启动django或者django的指令都不能使用,请仔细检查一下环境变量
- 窗口会的等待一会儿,然后会有下载django 的加载页面,如果本地已经有了django会显示当前django存在的位置,如下:
- 查询django的版本号:python -m django --version
2、创建第一个Django项目
- 首先将cmd切换到项目需要放置的文件夹,然后输入:django-admin startproject 项目名
- django项目会自动生成以下文件:
- 最外层的 test1/ 根目录只是你项目的容器, 根目录名称对Django没有影响,你可以将它重命名为任何你喜欢的名称
- manage.py:一个让你用各种方式管理 Django 项目的命令行工具
- 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包
- test1/init.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包
- test1/settings.py:Django 项目的配置文件
- test1/urls.py:Django 项目的 URL声明,就像你网站的“目录”
- test1/asgi.py:作为你的项目的运行在 ASGI 兼容的Web服务器上的入口
- test1/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口
- 测试该项目是否已经创建成功,进入项目文件夹,输入:python manage.py runserver
python manage.py runserver IP/端口号:更改ip和端口号访问
- 同时可以把http://127.0.0.1:8000/复制下来到浏览器,出现以下画面表示创建成功
-
3、编写第一个视图
应用:一个专门做某件事的网络应用程序
项目:一个网站使用的配置和应用的集合项目可以包含很多个应用,应用可以被很多个项目使用
- 创建polls项目
- 在pycharm的terminal输入:python manage.py startapp + 应用名
- 注意要找到manage.py下创建应用
-
视图内容
在polls应用的views.py中写入会显示的内容 -
URL映射
polls 目录里新建一个 urls.py -
在根 URLconf 文件中指定我们创建的 polls.urls 模块
-
浏览器访问 http://localhost:8000/polls/,能看见 “hello world! You`re at the polls index.” ,这是在 index 视图中定义的
4、django中的数据迁移(迁移到mysql)
- 使用django进行数据库开发的步骤如下:
1、 配置数据库连接信息
2、在models.py中定义模型类
3、迁移
4、通过类和对象完成数据增删改查操作 -- django与mysql的数据类型对比:
在setting中设置mysql数据库的配置
NAME:数据库名
USER:mysql用户名- 在models中创建数据库的模型
- 将后建的应用加入到项目settings.py 中 INSTALLED_APPS 子项添加点式路径
- 检测模型文件的修改,并把修改部分生成唯一次迁移,最后返回一个0001文件
pycharm中terminal中输入:python manage.py makemigrations polls
生成的0001文件
from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Question', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('question_text', models.CharField(max_length=200)), ('pub_date', models.DateTimeField(verbose_name='date published')), ], ), migrations.CreateModel( name='Choice', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('choice_text', models.CharField(max_length=200)), ('votes', models.IntegerField(default=0)), ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='polls.question')), ], ), ]
-
在检测完成并且生成0001文件之后,进行数据迁移
pycharm中terminal输入:python manage.py migrate
(base) F:\pycharm\project\Django\yyt>python manage.py migra te Operations to perform: Apply all migrations: admin, auth, contenttypes, polls, s essions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... O K Applying contenttypes.0002_remove_content_type_name... OK ...
-
- 在Navicat中可以看到数据库的表中增加了由pycharm迁移到mysql的表
5、django的MVC模型
- 在Navicat中可以看到数据库的表中增加了由pycharm迁移到mysql的表