zoukankan      html  css  js  c++  java
  • 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模型

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

  • 相关阅读:
    《JS高级程序设计》之七
    《JS高级程序设计》之六
    《JS》之原型链
    《JS高级程序设计》之五
    《JS高级程序设计》之四
    Spring Cloud Config自动刷新配置
    Rancher自动构建部署服务
    OpenStack实例noVNC URL获取
    Jenkins配置构建Maven项目并打包Docker镜像推送至私仓
    服务注册中心,Eureka与Zookeeper比较
  • 原文地址:https://www.cnblogs.com/tangmf/p/14216732.html
Copyright © 2011-2022 走看看