views:视图对web请求进行回应(views.py)
(1)在project下配置url
from django.contrib import admin
from django.urls import path
from django.conf.urls import url,include
urlpatterns = [
#配置视图
path('admin/', admin.site.urls),
path('',include('myapp1.urls'))
]
(2)在myapp下配置url(需要在myapp下新建一个urls.py)
from django.urls import path
from . import views
#from django.conf.urls import url
urlpatterns = [
path('',views.index), #在视图下获得数据
#url(r'~(\d+)/$',views.detail) #未解决的问题
]
(3)把匹配的url映射到views文件里
from django.shortcuts import render
# Create your views here.
#定义视图
from django.http import HttpResponse
def index (request):
return HttpResponse("xxxxx")
#def detail(request,num): #未解决的问题
# return HttpResponse("detail-%s"%num)
(4)在myapp同级下创建模板目录(文件夹)并建立对应的HTML模板文件
修改settings里面的templates:TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path. join(BASE_DIR,'templates')],……
创建模板文件
<h1>班级信息</h1>
<ul>
{% for grade in grades %}
<li>
<a href="#">{{ grade.gname}}</a>
</li>
{%endfor%}
</ul>
定义视图views
from .models import Grades #views下
gradesList = Grades.objects.all()
def grades1 (request):
return render(request,'myapp1/grades.html',{"grades":gradesList})
pass
配置URL
path('grades/',views.grades1)