第二章、视图与路由

1、创建视图模块

  1)创建静态内容视图:在项目的mysite文件夹中创建一个views.py的文件,作为视图模块。然后编写一个简单的视图脚本

from django.http import HttpResponse


def hello(request):
    return HttpResponse("hello world!")

  2)创建动态内容的视图:每次请求时内容都不一样,如下面的时间函数

from django.http import HttpResponse
import datetime


def hello(request):
    return HttpResponse("hello world!")


def index(request):
    return HttpResponse("index page!")


def new_time(request):
    time = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % time
    return HttpResponse(time)

 

2、配置路由 

 1)配置访问试图的路由:

    a、path设置路由:打开mysite文件夹中的urls.py文件,添加一条访问hello试图的路由

from django.contrib import admin
from django.urls import path
from mysite.views import hello

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', hello)
]

    b、url设置路由:打开mysite文件夹中的urls.py文件,添加一条访问hello试图的路由,使用url的方式的特别之处就是可以使用正则表达式。

from django.contrib import admin
from django.urls import path
from mysite.views import hello
from django.conf.urls import url

urlpatterns = [
    path('admin/', admin.site.urls),
    url('^hello/$', hello)
]

    以上两种都可以正常使用,根据实际需要进行选择;访问服务地址:http://127.0.0.1:8000/hello/即可在页面显示:hello world !

    重要的一点,如果路由在实际业务中是有规律的变化时,可以用合适的正则表达式来灵活处理,从而减少配置多个有规律的路由。

    

  2、处理服务的根目录时,我们可以通过设置空的路由指向来达到目的。代码示例如下:

    a、views.py中的代码如下:

from django.http import HttpResponse


def hello(request):
    return HttpResponse("hello world!")


def index(request):
    return HttpResponse("index page!")

    b、urls.py中的代码如下

from django.contrib import admin
from django.urls import path
from mysite.views import hello, index
from django.conf.urls import url

urlpatterns = [
    path('admin/', admin.site.urls),
    # path('hello/', hello),    # path方式
    url('^hello/$', hello),   # url方式
    path('', index),    # path方式
    url('^$', index),   # url方式
]

 

posted @ 2022-02-04 17:30  燕岚风  阅读(38)  评论(0编辑  收藏  举报