• Django整体初识


    一、Django是什么?

    web框架,framework。特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统。

    二、Django配置

    1.准备

    • 进入python新的scripts文件路进下。打开cmd
    • 使用pip安装django,pip install Django
    • 添加环境变量,python安装路径下的Scripts。

    三、MVC模式和MTV模式

    MVC:VC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。

    MTV:Django是MTV模式。Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:

      Model(模型):负责业务对象与数据库的对象(ORM)

           Template(模版):负责如何把页面展示给用户(HTML之类的文件存放)

           View(视图):负责业务逻辑,并在适当的时候调用Model和Template(用于逻辑函数的存放)

           此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

    四.使用命令行创建Django项目

    django
        #安装: pip3 install django
    
              添加环境变量
    
        #1  创建project
           django-admin startproject mysite
    
           ---mysite
    
              ---settings.py
              ---url.py
              ---wsgi.py
    
           ---- manage.py(启动文件)  
    
        #2  创建APP       
           python mannage.py startapp  app01
    #3  启动项目
           python manage.py runserver  127.0.0.1:8090
    
    

    django的命令行工具

    django-admin.py 是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每一个Django Project里都会有一个mannage.py。

    <1> 创建一个django工程 : django-admin.py startproject mysite

            当前目录下会生成mysite的工程,目录结构如下:

            

    • manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
    • settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
    • urls.py ----- 负责把URL模式映射到应用程序。

    <2>在mysite目录下创建blog应用: python manage.py startapp blog

            

    <3>启动django项目:python manage.py runserver 8080

           这样我们的django就启动起来了!当我们访问:http://127.0.0.1:8080/时就可以看到:

           

    <4>生成同步数据库的脚本:python manage.py makemigrations  

                         同步数据库:  python manage.py migrate   

           注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下

                    的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。            

    <5>当我们访问http://127.0.0.1:8080/admin/时,会出现:

           

           所以我们需要为进入这个项目的后台创建超级管理员:python manage.py createsuperuser设置好用户名和密码后便可登录啦!

    <6>清空数据库:python manage.py  flush

    <7>查询某个命令的详细信息: django-admin.py  help  startapp

           admin 是Django 自带的一个后台数据库管理系统。

    <8>启动交互界面 :python manage.py  shell

         这个命令和直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。

    <9> 终端上输入python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。

    五、使用Pycharm建立Django项目

    1.点击File新建项目,选择New Project.

    2.选择Django创建项目.添加项目名和应用名称

    3.如果上一步骤只创建了项目名称,没有创建应用名称.可以通过以下命令行进行创建.

    六、Django下实现MTV模式下的项目模型.

    ----------------------------------- URL ------------------------------------  (URL)
    from django.contrib import admin
    from django.urls import path
    from blog import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path("cur_time",views.cur_time),
    ]
    
    ---------------------------------- Views.py -------------------------------(V)
    
    from django.shortcuts import render,HttpResponse
    import datetime
    # Create your views here.
    def cur_time(request):
        times = datetime.datetime.now()
        return render(request,"cur_time.html",{"abc":times})
    
    ------------------------------------- HTML -----------------------------(T)
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>当前时间:{{ abc }}</h1>
    </body>
    </html>

    关联数据库

    ----------------------------------  URL  -----------------------------------(URL)
    
    from django.contrib import admin
    from django.urls import path
    from blog import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path("userinfo",views.userinfo),
        path("userInfo", views.userInfo),
    
    ]
    
    
    ----------------------------------  Views.py  --------------------------------(V)
    
    from django.shortcuts import render,HttpResponse
    import datetime
    # Create your views here.
    
    def userInfo(req):
        if req.method == "POST":
            u = req.POST.get("username",None)
            s = req.POST.get("sex", None)
            e = req.POST.get("email", None)
            
            Models.userInfo.object.creat(
        
            username = u,
            sex = s,
            email = e,
    
    )
        
    ---------------------------------  Models.py  ------------------------------(M)
    
    from django.db improt models
    class  userInfo(models.Model):
         username = models.CharFiled(max_length = 64)
         sex = models.CharFiled(max_length = 64)
         email = models.CharFiled(max_length = 64)
    
    
    ----------------------------------  HTML  --------------------------------(T)
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <form  action="/userInfo/" method="post">
    
    <p>姓名:<input  type="text"  name="username"></p>
    <p>性别:<input  type="text"  name="sex"></p>
    <p>邮箱:<input  type="text"  name="email"></p>
    <p>姓名:<input  type="submit"  name="submit"></p>
    
    </form>
    <h1>信息展示<h1>
    <table border = "1px">
    
        <td>
            <tr>姓名</tr>
            <tr>性别</tr>
            <tr>邮箱</tr>
        </td>
    
        {% for i in user_list %}
        <td>
            <tr>{i.username}</tr>
            <tr>{i.sex}</tr>
            <tr>{i.email}</tr>
        </td>
        {% endfor %}
    
    </table>>
    </body>
    </html>
  • 相关阅读:
    博客推荐
    2018
    2018
    学习推荐-Postgresql学习手册
    学习推荐-Redis学习手册
    odoo开发笔记 -- odoo源码解析
    前沿技术相关
    odoo开发笔记-tree列表视图拖拽排序
    odoo开发笔记-日期时间相关操作
    odoo开发笔记 -- 官方模块一览表
  • 原文地址:https://www.cnblogs.com/070727sun/p/11090247.html
Copyright © 2020-2023  润新知