python 模板操作(一)

1.目录结构

2.配置mydjango/settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 模板目录在基础目录下的templates下
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

3.路由分发mydjango/urls.py

from django.contrib import admin
from django.urls import *

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),   #默认匹配,搜索myapp.urls文件
]

4.路由myapp/urls.py

from django.contrib import admin
from django.conf.urls import url, include, re_path
from django.urls import path
from .views import *

urlpatterns = [
    path('index/', hello),
	path('grades/', grades),
	re_path('(\d+)/', detail), # 正则表达式要用re_path
]

5.数据myapp/models.py

from django.db import models
# Create your models here.
class Grades(models.Model):
	gname = models.CharField(max_length=20)
	gdate = models.DateTimeField()
	ggirlnum = models.IntegerField()
	gboynum = models.IntegerField()
	isDelete = models.BooleanField(default=False)


class Students(models.Model):
	sname = models.CharField(max_length=20)
	sgender = models.BooleanField(default=True)
	sage = models.IntegerField()
	scontend = models.CharField(max_length=100)
	idDelete = models.BooleanField(default=False)
	# sgrade = models.ForeignKey('Grades', on_delete=models.CASCADE())  #报错1
	sgrade = models.ForeignKey('Grades', on_delete=models.CASCADE)

6.视图myapp/views.py

from django.shortcuts import render

# Create your views here.
from django.shortcuts import HttpResponse
from .models import *

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

# 接收网页上传过来的索引
def detail(request, num):
	return HttpResponse("detail.....%s" % num)

def grades(request):
	gradesList = Grades.objects.all()
	# 模板路径:'myapp/grades.html'   传递的数据{'grades': gradesList}  其中key为模板里面用的变量
	return render(request, 'myapp/grades.html', {'grades': gradesList})

7.模板templates/myapp/grades.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>班级信息</title>
</head>
<body>
    <h1>班级</h1>
    <ul>
        <!--grades是传过来的变量-->
        {%for grade in grades%}
        <li>
            <a href="#"> {{grade.gname}}</a>
        </li>
        {%endfor%}
    </ul>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值