视图功能初探

2021-10-26  本文已影响0人  D_w

初始化应用

  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. 在项目中注册应用:

构建应用视图

  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
上一篇下一篇

猜你喜欢

热点阅读