python views.py传惨

Django搜索视图实现
本文介绍了一个使用Django框架实现的简单搜索视图功能,该视图接收GET请求参数并返回包含查询结果的响应。如果用户提交了搜索词,则从数据库中筛选匹配的书籍并传递给模板进行渲染。
from django.http import HttpResponse
from django.shortcuts import render_to_response
from mysite.books.models import Book


def search(request):
    if 'q' in request.GET and request.GET['q']:
        q = request.GET['q']
        books = Book.objects.filter(title__icontains=q)
        return render_to_response('search_results.html',
            {'books': books, 'query': q})
    else:

        return HttpResponse('Please submit a search term.')



<p>You searched for: <strong>{{ query }}</strong></p>


{% if books %}
    <p>Found {{ books|length }} book{{ books|pluralize }}.</p>
    <ul>
        {% for book in books %}
        <li>{{ book.title }}</li>
        {% endfor %}
    </ul>
{% else %}
    <p>No books matched your search criteria.</p>
{% endif %}

### 关于Django项目中`views.py`文件的使用指南 #### 创建与初始化视图文件 在名为 `mysite` 的文件夹内建立一个叫作 `views.py` 的空文件。此 Python 模块用于容纳本章节所涉及的视图逻辑[^1]。 ```python from django.http import HttpResponse def hello(request): return HttpResponse("Hello, world!") ``` 上述代码展示了如何定义一个简单的视图函数——`hello` 函数接收来自用户的 HTTP 请求并返回一段字符串作为响应内容给客户端浏览器显示。 #### 处理匿名用户请求 对于未登录状态下的访问者,默认情况下会被视为匿名用户实例(`AnonymousUser`),其行为类似于已认证过的用户对象但不具备实际权限。自 Django 1.8 版本起引入了方法 `.get_username()` 来帮助更精确地区分这些情况[^2]: ```python if request.user.is_authenticated: username = request.user.username else: username = request.user.get_username() ``` 这段示例演示了怎样判断当前会话是否关联了一个有效账户以及获取相应用户名的方法。 #### 数据库操作前后的准备工作 启动 MySQL 数据库服务之后,通过命令行工具执行如下指令来创建新的数据表结构并应用更改到数据库当中[^3]: ```bash > python manage.py makemigrations > python manage.py migrate ``` 最后一步则是开启开发服务器以便测试网页功能正常与否: ```bash > python manage.py runserver ``` 以上就是有关 Django 应用程序里 `views.py` 文件的一些基本概念介绍及其常见用途说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值