(5)视图(views)和模板(templates)

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)

新增models可以直接重新迁移,修改数据库建议删除0001-initial文件再迁移

猜你喜欢

转载自blog.csdn.net/qq_40178878/article/details/86566248