• Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld


    前言

    • 接了一个商用项目,要求使用django框架进行搭建后台web框架。因为之前没有写过Django相关的博文,于是记录一下,希望可以给大家提供一些思路,不足之处还望大家指正。
    • 有兴趣可以添加我,一起探讨技术。
      • 加V:Fengfl1222,名称:insist科技。
      • 要资料,申请备注为:CSDN+地方,如CSDN山东。
      • 想接项目一起努力进步,申请备注为:CSDN+地方+项目,如CSDN+山东+项目,添加成功之后,可以发一份简历。
      • 本人介绍:211高校(北京交通大学)计算机研究生,本科双非计算机毕业后,校招进入军工,工作2个月离职后进入阿里,工作两年后离职考研,现已毕业,入职济南某大厂。主要技术栈:java、python、vue、react等web开发需求。已有开发团队,如果有空闲时间想一个接项目者,可以加我呦。
      • 不按上诉规则添加好友者,不予通过。

    一、Django环境配置

    1、python 环境

    因为Django是需要Python的环境,所以首先下载python,我这里使用的Anaconda 安装的python。
    使用Anaconda安装python可以看这篇博客:pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
    查看本机python环境:

    python --version
    

    在这里插入图片描述

    2、Django环境

    需要安装全局Django

    pip install django
    

    查看版本

    python -m django --version
    

    在这里插入图片描述

    3、mysql环境

    因为要使用到mysql,所以需要安装连接mysql的驱动,这里使用的是mysqlclient,或者这里先不安装,后面可以根据提示进行手动安装,命令是一样的

    pip install mysqlclient
    

    如果安装了conda,可以使用如下命令

    conda install mysqlclient
    

    4、IDE:pycharm

    开发Django框架的开发环境IDE使用的是jetbrain公司的pycharm,使用社区版本即可,好用方便,自行百度下载

    二、第一次创建Django项目

    1、创建项目door_web_django_system

    进入到你想要创建django项目的路径,door_web_django_system代表你的项目名,输入命令

    django-admin startproject door_web_django_system
    

    在这里插入图片描述

    2、运行启动

    • 进入到 door_web_django_system 项目,

      cd door_web_django_system 
      
    • 然后运行

      python manage.py runserver
      

      在这里插入图片描述

    • 按照上面爆红的提示执行命令

      python manage.py migrate
      

      在这里插入图片描述

    • 然后再次执行运行命令python manage.py runserver,结果如下:
      在这里插入图片描述

    • 浏览器打开http://localhost:8000/如下所示,代表Django项目创建并运行成功
      在这里插入图片描述

    三、Django项目介绍

    1、介绍Django项目结构

    (记得从终端中把项目关闭,后面可以从pycharm的终端中启动,比较方便)
    首先使用pycharm打开。
    在这里插入图片描述
    找到设置,配置python环境,我的如下图所示
    在这里插入图片描述
    项目下面有个主包,和项目名同名,这里一般主要作为项目的配置包,不在这里写业务逻辑

    1. urls.py: 主路由的跳转
    2. settings.py:项目的配置文件,包括mysql的配置等等
    3. asgi.py
    4. wsgi.py

    2、第一个helloword

    主包中创建views.py,内容如下

    from django.http import HttpResponse
    
    
    def hello_world(request):
        return HttpResponse("Hello, World!")
    

    在这里插入图片描述
    urls.py 中内容如下:

    from django.contrib import admin
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path("admin/", admin.site.urls),
        path('hello/', views.hello_world)
    ]
    
    

    在这里插入图片描述
    运行项目,在浏览器输入http://localhost:8000/hello/,返回的字符串helloword如下所示,这样一个web服务器搭建好啦
    在这里插入图片描述

    4、django的项目逻辑(和java对标)

    1. urls.py: 存放的是项目对外暴露的url请求,对应于java项目的controller
    2. views.py: 存放的是项目的业务逻辑层和操作数据库,对应于java项目的servicesdao层。
    3. models.py:存放的是对象实例,对应于mysql的表,Django中可以通过models中的对象类自动创建mysql中的表。对应于java中的beanPOJO类。

    三、创建Django应用

    1. 介绍

    主包是和项目同名的一个包,一般只用来做配置使用。
    一般会创建其他的包,然后主要写业务逻辑。

    2. 创建应用app01

    进入djangoDemo目录,运行命令:(使用pycharm,可以在终端直接执行命令)

    python manage.py startapp app01
    

    在这里插入图片描述
    生成目录如下
    在这里插入图片描述
    然后需要在主包的setting.py中挂载刚刚创建的应用app01
    在这里插入图片描述
    如果不挂载,在后面执行命令python manage.py makemigrations时,会出现如下问题。该命令的使用时在第二章里学习使用。
    在这里插入图片描述

    3、app01的helloword

    1. app01中的views.py
    from django.shortcuts import render
    from django.http import HttpResponse
    
    
    def hello_world(request):
        return HttpResponse("app01 Hello, World!")
    

    在这里插入图片描述
    2. app01中的urls.py

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('hello/', views.hello_world)
    ]
    

    在这里插入图片描述
    3. 主包中的urls.py
    增加了最后一行

    from django.contrib import admin
    from django.urls import path, include
    from . import views
    
    urlpatterns = [
        path("admin/", admin.site.urls),
        path('hello/', views.hello_world),
        path('app01/', include('app01.urls'))
    ]
    

    在这里插入图片描述
    4. 运行项目,浏览器运行下面两个url地址。http://localhost:8000/hello/http://localhost:8000/app01/hello/。截图如下,说明应用创建成功。
    在这里插入图片描述

    在这里插入图片描述
    本节完成,下一节更精彩,进一步学习配置mysql,创建model实例,自动创建数据库表。

  • 相关阅读:
    贴息政策打出“组合拳”,院校实验室建设攻略来了(二)!
    谈谈Dubbo的那些事
    springboot一次性定时任务插入1000万条数据
    Python中的map()、apply()、applymap()的区别
    ENSP交换机接口trunk和access互改
    django ModelSerializer自定义显示字段
    java计算机毕业设计物品分享网站源码+系统+数据库+lw文档+mybatis+运行部署
    11 假设检验
    使用VScode搭建Rust开发环境
    新版海螺影视主题模板M3.1全解密版本多功能苹果CMSv10后台自适应主题开源全解密版
  • 原文地址:https://blog.csdn.net/qq_40036754/article/details/139329131