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:pycharmprojectDjangoyyt>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模型

      在这里插入图片描述
      在这里插入图片描述

原文地址:https://www.cnblogs.com/tangmf/p/14216732.html