美文网首页
web应用框架——Django实践项目(五)

web应用框架——Django实践项目(五)

作者: 思君_4cd3 | 来源:发表于2020-05-12 14:47 被阅读0次

一.点击导航栏进行跳转授课机构

1跳转

  • 打开templates/base.html文件



    将这里改成url形式

二.分页

1.找分页的app

https://github.com/jamespacileo/django-pure-pagination
这个网站有所用到的代码

  • 在这里,我们都已经下载了


  • 查找所有软件 pip list


  • 注册app,打开MXOline/settings.py
'pure_pagination',

在最后添加如下代码:

# 分页相关的设置
PAGINATION_SETTINGS = {
    'PAGE_RANGE_DISPLAYED': 3, # 主分页部分显示几个
    'MARGIN_PAGES_DISPLAYED': 2, # 省略号前面或者后面显示几个
    'SHOW_FIRST_PAGE_WHEN_INVALID': True,
}
  • 打开apps/organizations/views.py文件
    添加如下代码:
from pure_pagination import Paginator, EmptyPage, PageNotAnInteger
...
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        p = Paginator(all_orgs, per_page=5, request=request)  # 每页显示多少个
        orgs = p.page(page)
       return render(request, 'org-list.html',
                      {'all_orgs':orgs,'org_nums':org_nums,'all_citys':all_citys})
  • 在templates目录下找到org_list.html
    找到分页代码:
    将代码注释掉:


  • 这个时候我们运行一下程序:
    他会报一个这样的错误:



    往下翻,这里显示我们所写的代码出了问题:



    这里说明我们遍历的有些问题:

    这个时候再刷新一下:

    网页就会出来了

  • 我们在原来注释掉的代码上面加上这句代码:
{{ all_orgs.render }}

然后运行一下:
在最底端会出现这个样式:



我们想要的不是这个样式,将之前注释的代码再恢复回来:



  • 我们将刚刚添加大代码删掉:



    也将下面四条<li>删掉


  • 在这个位置上填写如下代码:
                {% if all_orgs.has_previous %}
                                <li class="long"><a href="?{{ all_orgs.previous_page_number.querystring }}"
                                                    class="page">上一页</a></li>
                            {% endif %}
                            {% for page in all_orgs.pages %}
                                {% if page %}
                                    {% ifequal page all_orgs.number %}
                                        <li class="active"><a
                                                href="?{{ page.querystring }}">{{ page }}</a>
                                        </li>
                                    {% else %}
                                        <li class="page"><a
                                                href="?{{ page.querystring}}">{{ page }}</a>
                                        </li>
                                    {% endifequal %}
                                {% else %}
                                    <li class="none">...</li>
                                {% endif %}
                            {% endfor %}
                            {% if all_orgs.has_next %}
                                <li class="long"><a href="?{{ all_orgs.next_page_number.querystring }}"
                                                    class="page">下一页</a></li>
                            {% endif %}

  • 刷新页面:


  • 添加机构信息


  • 修改每页显示的机构数:


  • 刷新页面可看到:



    已经显示分页啦,接下来我们弄中间的省略号

  • 打开MXOline/settings.py改变这两个值


  • 刷新页面


三.筛选

下面我们将修改这里,点击类别进行筛选


  • 点击培训机构



    我们可以看到他的接口已经写好了


1.机构类别的筛选

  • 打开MXOline/views.py
#获取点击的类目
        category = request.GET.get("ct","")
        if category:
            all_orgs = all_orgs.filter(category=category)

这个时候再次点击每个类别,就可以显示:



但是我们可以看到,点击个人的时候,他并没有变绿色:



所以我们写一个判断:
  • 打开org_list.html文件
<div class="cont">
                                <a href="?city={{ city_id }}"><span
                                        class="{% ifequal category '' %}active2{% endifequal %}">全部</span></a>

                                <a href="?ct=pxjg&city={{ city_id }}"><span
                                        class="{% ifequal category 'pxjg' %}active2{% endifequal %}">培训机构</span></a>

                                <a href="?ct=gx&city={{ city_id }}"><span class="{% ifequal category 'gx' %}active2{% endifequal %}">高校</span></a>

                                <a href="?ct=gr&city={{ city_id }}"><span class="{% ifequal category 'gr' %}active2{% endifequal %}">个人</span></a>

                            </div>
  • 打开MXOline/views.py文件


  • 刷新页面:



    显示绿色啦~

2.地区筛选

  • 打开MXOline/views.py
# 对所在城市进行筛选
        city_id = request.GET.get('city', "")
        if city_id:
            if city_id.isdigit():
                all_orgs = all_orgs.filter(city_id=int(city_id))
  • 顺便把对象写上:


  • 打开org_list.html文件
<div class="cont">
                                <a href="?ct={{ category }}"><span class="active2">全部</span></a>
                                {% for city in all_citys %}
                                    <a href="?city={{ city.id }}&ct={{ category }}"><span class="">{{ city.name }}</span></a>
                                {% endfor %}
                            </div>
  • 刷新页面:


3.修改总数:

当我们进行筛选的时候,会出现这样的错误:


  • 打开MXOline/views.py
org_nums = all_orgs.count()
  • 刷新页面:



    这样就对上了!

四.排序


实现机构类别,所在地区,以及这个排序进行三级联动

  • 打开MXOline/apps/organizations/views.py
 # 对课程机构近排序
        sort = request.GET.get('sort',"")
        if sort == 'students':
            # 根据学生人数排序  减号代表倒序排序的意思
            all_orgs = all_orgs.order_by('-students')
        elif sort == 'courses':
            # 根据课程数进行排序
            all_orgs = all_orgs.order_by('-course_nums')

...
return render(request, 'org-list.html',
                      {'city_id':city_id,
                       'all_orgs':orgs,
                       'org_nums':org_nums,
                       'all_citys':all_citys,
                       'category':category,
                       'sort':sort,
                       'hot_orgs':hot_orgs,
                       })
  • 这个时候刷新界面已经可以达到排序的效果了:


  • 打开org_list.html文件:
<li class="{% if sort == '' %}active{% endif %}><a href="?ct=&city=">全部</a></li>
                                <li class="{% if sort == 'students' %}active{% endif %}"><a href="?sort=students&ct={{ category }}&city={{ city_id }}">学习人数 &#8595;</a></li>
                                <li class="{% if sort == 'courses' %}active{% endif %}"><a href="?sort=courses&ct={{ category }}&city={{ city_id }}">课程数 &#8595;</a></li>
  • 刷新网页,这样他们三个就进行了联动筛选:


五.授课机构排名


接下来我们来修改它

  • 在org_list.html中找到他所在的位置,并将多余的删除,只留下一个:



  • 刷新页面:


  • 打开MXOline/apps/organizations/views.py
hot_orgs = all_orgs.order_by("-click_nums")[:3]
...
'hot_orgs':hot_orgs,

  • 打开org_list.html文件
 {% for org in hot_orgs %}
                    <dl class="des">
                        <dt class="num fl">{{ forloop.counter }}</dt>
                        <dd>
                            <a href="/company/2/"><h1>{{ org.name }}</h1></a>
                            <p>{{ org.address }}</p>
                        </dd>
                    </dl>
                {% endfor %}
  • 刷新页面:


六.URL重构

  • 打开MXOline/MXOline/urls.py文件:
    修改如下地方:


  • 在MXOline/apps/organizations/目录下新建一个urls.py文件


  • 在里面配置url
from django.conf.urls import url
from apps.organization.views import OrgView

urlpatterns = [
    url(r'^list/',OrgView.as_view(),name='list'),
]
  • 打开base.html文件
    修改如下代码:


  • 刷新界面:



    我们可以看到路由已经改变

七.立即咨询

下面我们将修改这个板块:


  • 配置url:
from django.conf.urls import url
from apps.organization.views import OrgView,AddAsk

urlpatterns = [
    url(r'^list/',OrgView.as_view(),name='list'),
    url(r'^add_ask/$', AddAsk.as_view(), name='add_ask'),
]
  • 创建视图:
class AddAsk(View):
    """处理用户咨询模块"""
    def post(self, request, *args, **kwargs):
        pass
  • 创建表单:
    新建一个forms.py文件:


from django import forms
class AddAskForm(forms.ModelForm):
    mobile = forms.CharField(max_length=11, min_length=11, required=True)
    class Meta:
        pass
  • 创建用户操作app
startapp operations
  • 注册app
'operations.apps.OperationsConfig',
  • 将新创建的app移动到apps文件夹下:


  • 打开operations/models.py文件:
from django.db import models

from django.contrib.auth import get_user_model

from apps.users.models import BaseModel
from apps.courses.models import Course

UserProfile = get_user_model()


class Banner(BaseModel):
    title = models.CharField(max_length=100, verbose_name="标题")
    image = models.ImageField(upload_to="banner/%Y/%m", max_length=200, verbose_name="轮播图")
    url = models.URLField(max_length=200, verbose_name="访问地址")
    index = models.IntegerField(default=0, verbose_name="顺序")

    class Meta:
        verbose_name = "轮播图"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.title


class UserAsk(BaseModel):
    name = models.CharField(max_length=20, verbose_name="姓名")
    mobile = models.CharField(max_length=11, verbose_name="手机")
    course_name = models.CharField(max_length=50, verbose_name="课程名")

    class Meta:
        verbose_name = "用户咨询"
        verbose_name_plural = verbose_name

    def __str__(self):
        return "{name}_{course}({mobile})".format(name=self.name, course=self.course_name, mobile=self.mobile)


class CourseComments(BaseModel):
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name="用户")
    course = models.ForeignKey(Course, on_delete=models.CASCADE, verbose_name="课程")
    comments = models.CharField(max_length=200, verbose_name="评论内容")

    class Meta:
        verbose_name = "课程评论"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.comments


class UserFavorite(BaseModel):
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name="用户")
    fav_id = models.IntegerField(verbose_name="数据id")
    fav_type = models.IntegerField(choices=((1,"课程"),(2,"课程机构"),(3,"讲师")), default=1, verbose_name="收藏类型")

    class Meta:
        verbose_name = "用户收藏"
        verbose_name_plural = verbose_name

    def __str__(self):
        return "{user}_{id}".format(user=self.user.username, id=self.fav_id)


class UserMessage(BaseModel):
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name="用户")
    message = models.CharField(max_length=200, verbose_name="消息内容")
    has_read = models.BooleanField(default=False, verbose_name="是否已读")

    class Meta:
        verbose_name = "用户消息"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.message


class UserCourse(BaseModel):
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE, verbose_name="用户")
    course = models.ForeignKey(Course, on_delete=models.CASCADE, verbose_name="课程")

    class Meta:
        verbose_name = "用户课程"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.course.name
  • 迁移数据库
makemigrations
migrate
  • 修改forms.py文件
from apps.operations.models import UserAsk
from django import forms
class AddAskForm(forms.ModelForm):
    mobile = forms.CharField(max_length=11, min_length=11, required=True)
    class Meta:
        model = UserAsk
        fields = ["name", "mobile", "course_name"]
  • 修改views.py文件
from django.http import JsonResponse
from apps.organization.forms import AddAskForm
...
class AddAsk(View):
    """处理用户咨询模块"""
    def post(self, request, *args, **kwargs):
        userask_form = AddAskForm(request.POST)
        if userask_form.is_valid():
            userask_form.save(commit=True)
            return JsonResponse({
                "status":"success",
                "msg":"提交成功"
            })
        else:
            return JsonResponse({
                "status": "fail",
                "msg": "添加出错"
            })
image.png
  • 打开org_list.html文件
{% block custom_js %}
    <script>
        $(function () {
            $(document).ready(function () {
                $('#jsStayBtn').on('click', function () {
                    $.ajax({
                        cache: false,
                        type: 'POST',
                        url: '{% url 'org:add_ask' %}',
                        async: true,
                        data: $('#jsStayForm').serialize(),
                        success: function (data) {
                            if (data.status == 'success'){
                                $('#jsStayForm')[0].reset();
                                $('#jsCompanyTips').html(data.msg)
                            }else if(data.status == 'fail'){
                                $('#jsCompanyTips').html(data.msg)

                            }
                        }
                    })
                })
            })

        })
    </script>
{% endblock %}
  • 刷新网页,提交信息:


  • 打开数据库,查看提交信息:



    那他为什么会提交两个呢?是因为我们写的ajax请求和base.html里面的ajax请求重复了,我们把base里面的删掉


  • 刷新页面从新提交:


八.跳转课程列表

课程页面链接:https://pan.baidu.com/s/1cK53FoL6IXZIF1N9NR8b7A
提取码:okoa

  • 我们将课程页面放入到templates文件夹中:


  • 配置url
# 课程相关页面
    url(r'^course/', include(('apps.courses.urls', 'courses'), namespace='course')),
  • 在courses文件夹下建一个urls.py文件


from django.conf.urls import url
from apps.organizations.views import OrgView, AddAsk
from apps.courses.views import CourseListView
urlpatterns = [
    url(r'^list/$', CourseListView.as_view(), name='list'),

]
  • 在courses/views.py文件下写:
from pure_pagination import Paginator, EmptyPage, PageNotAnInteger
from django.shortcuts import render
from django.views.generic.base import View
from apps.courses.models import Course
# Create your views here.
class CourseListView(View):
    def get(self, request, *args, **kwargs):
        """获取课程列表信息"""
        all_courses = Course.objects.order_by("-add_time")

        # 对课程机构进行分页
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
        p = Paginator(all_courses,per_page=5, request=request) # 每页显示多少个
        courses = p.page(page)

        return render(request, 'course-list.html',
                      {"all_courses":courses,
                       })
{% extends 'base.html' %}
{% block custom_bread %}
<section>
        <div class="wp">
            <ul class="crumbs">
                <li><a href="index.html">首页</a>></li>
                <li>公开课</li>
            </ul>
        </div>
    </section>
{% endblock %}
{% block content %}
<section>
        <div class="wp">
            <div class="list" style="margin-top:0;">
                <div class="left layout">
                    <div class="head">
                        <ul class="tab_header">
                            <li class="active"><a href="?sort=">最新 </a></li>
                            <li><a href="?sort=hot">最热门</a></li>
                            <li><a href="?sort=students">参与人数</a></li>
                        </ul>
                    </div>
                    <div id="inWindow">
                        <div class="tab_cont " id="content">
                            <div class="group_list">
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>
                                <div class="box">
                                    <a href="course-detail.html">
                                        <img width="280" height="350" class="scrollLoading"
                                             src="/static/media/courses/2016/11/540e57300001d6d906000338-240-135.jpg"/>
                                    </a>
                                    <div class="des">
                                        <a href="course-detail.html">
                                            <h2>python入门2</h2>
                                        </a>
                                        <span class="fl">时长:<i class="key">0</i></span>
                                        <span class="fr">学习人数:0&nbsp;&nbsp;</span>
                                    </div>
                                    <div class="bottom">
                                        <a href="course-detail.html"><span class="fl">来自慕学网666</span></a>
                                        <span class="star fr  notlogin
                                        " data-favid="15">
                                        0
                                    </span>
                                    </div>
                                </div>


                            </div>
                            <div class="pageturn">
                                <ul class="pagelist">


                                    <li class="active"><a href="?page=1">1</a></li>


                                    <li><a href="?page=2" class="page">2</a></li>


                                    <li class="long"><a href="?page=2">下一页</a></li>


                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="right layout">
                    <div class="head">热门课程推荐</div>
                    <div class="group_recommend">

                        <dl>
                            <dt>
                                <a target="_blank" href="">
                                    <img width="240" height="220" class="scrollLoading"
                                         src="../media/courses/2016/11/540e57300001d6d906000338-240-135_n0L8vbw.jpg"/>
                                </a>
                            </dt>
                            <dd>
                                <a target="_blank" href=""><h2> django与vuejs实战项目2</h2></a>
                                <span class="fl">难度:<i class="key">高级</i></span>
                            </dd>
                        </dl>

                        <dl>
                            <dt>
                                <a target="_blank" href="">
                                    <img width="240" height="220" class="scrollLoading"
                                         src="../media/courses/2016/12/python面向对象.jpg"/>
                                </a>
                            </dt>
                            <dd>
                                <a target="_blank" href=""><h2> python面向对象</h2></a>
                                <span class="fl">难度:<i class="key">中级</i></span>
                            </dd>
                        </dl>

                        <dl>
                            <dt>
                                <a target="_blank" href="">
                                    <img width="240" height="220" class="scrollLoading"
                                         src="../media/courses/2016/12/python文件处理.jpg"/>
                                </a>
                            </dt>
                            <dd>
                                <a target="_blank" href=""><h2> python文件处理</h2></a>
                                <span class="fl">难度:<i class="key">中级</i></span>
                            </dd>
                        </dl>


                    </div>
                </div>
            </div>
        </div>
    </section>
{% endblock %}
  • 我们找到模块的地方:


  • 将模板删减为一个


  • 刷新页面


  • 添加课程信息:


  • 填写循环


  • 刷新页面:


  • 修改页面信息:


  • 刷新页面:


  • 添加跳转链接,打开base.html文件:


以上所以代码可在我的github上查看:

https://github.com/zhaoXiY/MXOline

(此文章仅作为个人学习笔记使用,如有错误欢迎指正~)

相关文章

网友评论

      本文标题:web应用框架——Django实践项目(五)

      本文链接:https://www.haomeiwen.com/subject/eniknhtx.html