美文网首页
视图功能初探

视图功能初探

作者: D_w | 来源:发表于2021-10-26 14:29 被阅读0次

    初始化应用

    1. 构建一个django项目:
    django-admin startproject testproject
    

    执行完这个命令后会生成testproject文件目录

    - testproject <dir> —————— 只是你项⽬的容器, ⽬录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。
         - testproject <projectdir> —————— ⼀个 Python 包。它的名字就是当你引⽤它内部任何东⻄时需要⽤到的 Python 包名。
          - __init__.py <file> —————— ⼀个空⽂件,告诉 Python 这个目录应该被认为是⼀个 Python 包。用于申明。
         - asgi.py <file> —————— 作为你的项⽬的运⾏在 ASGI 兼容的 Web 服务器上的入口。使⽤ ASGI 来部署的时候使⽤。
         - settings.py <file> —————— Django 项⽬的配置⽂件。
         - urls.py <file> —————— Django 项⽬的 URL 声明,就像你⽹站的“⽬录”。
         - wsgi.py <file> —————— 作为你的项⽬的运⾏在 WSGI 兼容的Web服务器上的入口。使⽤使⽤ WSGI 进⾏部署的时候使⽤。
     - manage.py <file> —————— ⼀个让你⽤各种⽅式管理 Django 项⽬的命令⾏⼯具
    
    1. 利用manage.py执行初始化数据库的命令
    python manage.py migrate
    
    1. 利用manage.py 执行生成应用
    python manage.py startapp testapp
    

    执行完此命令后会在testproject文件夹中生成一个testapp的包文件:

    - testapp <projectdir> —————— ⼀个 Python 包。它的名字就是当你引⽤它内部任何东西时需要⽤到的 Python 包名。
          - migrations <projectdir> —————— ⼀个 Python 包。它的名字就是当你引⽤它内部任何东⻄时需要⽤到的 Python 包名。
                - __init__.py <file> —————— ⼀个空⽂件,告诉 Python 这个⽬录应该被认为是⼀个 Python 包。⽤于申明。
           - __init__.py <file> —————— ⼀个空⽂件,告诉 Python 这个⽬录应该被认为是⼀个Python 包。⽤于申明。
           - admin.py <file> —————— ⾃定义 Django 管理⼯具。
           - apps.py <file> —————— Django 应⽤的配置⽂件。
           - models.py <file> —————— 模型管理⽂件
           - tests.py <file> —————— 测试⽂件
           - views.py <file> —————— 视图管理⽂件
    
    1. 在项目中注册应用:
    • 在项目包文件中找到setting.py文件,打开找到INSTALLED_APPS列表位置,在该列表内添加刚创建的应用名称,记得加,
      image.png
      项目与应用的关系:应⽤程序是可以执⾏某些操作的 Web 应⽤程序,例如,Weblog 系统、公共记录数据库或小型投票应⽤程序。项⽬是特定⽹站的配置和应⽤程序的集合。⼀个项⽬可以包含多个应用程序。⼀个应⽤程序可以在多个项⽬中。

    构建应用视图

    1. 打开testapp/views.py,写入
    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello World")
    

    这个views文件中可以理解为在页面上展示的内容,内容写完后下一步需要映射到一个url中

    1. 打开文件testproject/urls.py,写入
    from testapp.views import index      # 将刚写好的index函数导入
    
    urlpatterns += [                   # 不要改动其中原有的urlpatterns,新写一个,这里一定要写成+= 
        path('luyou1',index)        # path中中第一个是你要访问的路由,第二个是该路由展示的内容
    ]
    
    1. 运行项目
      命令行输入 python manage.py runserver
    2. 打开网址 http://127.0.0.1:8080/tluyou1,就会显示hello world
      image.png

    构建一个返回html的视图

    在刚刚testapp目录下新建一个directory,名字是固定的,为templates,再在该文件夹内新建一个hello.html,内容为

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p> hello world</p>
    {#<a href="hello1.html">click</a>  这里不能给模板名,即相对路径,会和路由对不上#}
    <a href="http://127.0.0.1:8000/hello1">click</a>
    </body>
    </html>
    

    再次编辑文件views.py

    def index(request):
        return render(request,"hello.html")
    

    重新打开 :http://127.0.0.1:8000/luyou1/ ,这样就展示了html中的内容,还有一个页面跳转

    image.png

    相关文章

      网友评论

          本文标题:视图功能初探

          本文链接:https://www.haomeiwen.com/subject/exbealtx.html