12、Django实战第12天:课程机构列表页数据展示

今天完成的是课程机构列表页....

 

1、启动服务,进入xadmin后,添加5个城市信息用作测试数据

2、添加课程机构,其中有一项要上传封面图的地方要注意

封面图上传路径是我们在models中设置好的

在数据表中,我们存放的是相对路径,但是Django怎么知道存在哪个根目录下呢?首先我们现在项目的根目录创建一个文件夹media,我们来把media作为根目录

设置settings.py,配置media

# 在末尾添加此两行

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 

后面在前端页面会使用到{{ MEDIA_URL }}变量,所以还需要在settings.py中的templates配置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, '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',
                'django.core.context_processors.media',   ##添加此行
            ],
        },
    },
]

还需要为media配置条url

...
from django.views.static import serve #处理静态文件的函数
from mxonline.settings import  MEDIA_ROOT #导入上传文件位置变量

urlpatterns = [
    ....
    # 上传文件的访问处理函数
    url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),

] 

现在添加课程机构,最后会发现:封面图已经保存到我们设定的位置了

添加7个课程机构,用作测试数据

 

现在我们来看下课程机构的页面127.0.0.1:8000/org_list/, 框住的目前在html中是静态写死的,现在我们要从数据库动态的取出

编辑organization.views.py,把城市和课程机构都取出来

from django.shortcuts import render
from django.views.generic import View

from.models import CityDict, CourseOrg


class OrgView(View):
    def get(self, request):
        #城市
        all_citys = CityDict.objects.all()
        #课程机构
        all_orgs = CourseOrg.objects.all()
        #机构数
        org_nums = all_orgs.count()
        return render(request, 'org-list.html', {
            'all_orgs': all_orgs,
            'all_citys': all_citys,
            'org_nums': org_nums,
        })

  

编辑org-list.html:所在地区部分

编辑org-list.html:机构统计部分

编辑org-list.html:课程机构部分,发现每一个课程机构就是一个dl标签包住的,因此我们只需要保留一个dl,然后for 循环。注意这里课程人数和学习人数也要改掉,我忘记改了而已

 现在访问前端页面,会发现数据已经是动态获取了

转载于:https://www.cnblogs.com/sellsa/p/8480424.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值