编辑views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('hello word')
- 每个响应对应一个函数,函数必须返回一个响应
- 函数必须存在一个参数,一般约定为request
- 每一个响应对应一个URL
配置URL(两种方法)
源代码中的注释:
"""djangodemo URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
根据注释可以看到配置URL的方法有三种,这里主要介绍1,3两种
- 直接引入项目中的 views ,然后为每个响应添加URL
from django.contrib import admin
from django.urls import path
import demo.views as dv
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', dv.index),
]
显然当响应过多的时候,直接添加是不合适的
- 分别为每个应用创建urls.py,然后添加到项目的总 urls.py 中
总 urls.py :
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', include('demo.urls')),
]
单个应用的urls.py:
from django.urls import path
import demo.views as dv
urlpatterns = [
path('demo/', dv.index),
]