在学生蓝图中的'/student/search'路径下,定义了一个名为'search_course'的视图函数。该函数会获取请求中的查询参数'q',如果查询参数为空,则重定向到'student.select_course'视图函数。否则,调用Course类的'query_by_keyword'方法,通过关键字查询课程列表。最后,将查询结果传递给名为'course_list.html'的模板进行渲染。

以下是相应的前端代码:

{% extends 'base.html' %}

{% block content %}
  <h1>搜索课程</h1>
  <form action='{{ url_for('student.search_course') }}' method='GET'>
    <input type='text' name='q' placeholder='请输入关键字'>
    <button type='submit'>搜索</button>
  </form>

  {% if courses %}
    <h2>搜索结果:</h2>
    <ul>
      {% for course in courses %}
        <li><a href='{{ url_for('student.view_course', course_id=course.id) }}'>{{ course.name }}</a></li>
      {% endfor %}
    </ul>
  {% else %}
    <p>未找到相关课程</p>
  {% endif %}
{% endblock %}

在该模板中,首先展示了一个搜索表单,允许用户输入关键字进行搜索。然后,判断是否有搜索结果,如果有,则展示课程列表。每个课程都是一个超链接,链接到相应的课程详情页面。如果没有搜索结果,则显示相应的提示信息。

学生课程搜索 - 在线课程平台

原文地址: https://www.cveoy.top/t/topic/nZGw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录