# dj2 **Repository Path**: Hashcow/dj2 ## Basic Information - **Project Name**: dj2 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-24 - **Last Updated**: 2024-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Django 项目文档 ## 概述 本项目是一个基于 Django 框架的 Web 应用程序,主要用于管理和查询电影信息。项目包含三个主要文件:`services.py`、`urls.py` 和 `views.py`。`services.py` 负责与数据库交互,`urls.py` 定义了 URL 路由,`views.py` 处理请求并返回响应。 ## 文件结构 ### `services.py` 该文件包含与数据库交互的函数,主要用于查询、插入、更新和删除电影信息。 #### 函数列表 1. **`get_douban_limit_n(n)`** - **功能**: 查询豆瓣电影信息,并限制返回的结果数量。 - **参数**: `n` - 返回结果的数量。 - **返回**: 以字段名为键的字典列表。 2. **`get_douban_limit_n_by_score(n)`** - **功能**: 查询豆瓣电影信息,筛选出评分等于指定值的电影。 - **参数**: `n` - 指定的评分。 - **返回**: 以字段名为键的字典列表。 3. **`get_douban_limit_n_by_score_big(n)`** - **功能**: 查询豆瓣电影信息,筛选出评分大于指定值的电影。 - **参数**: `n` - 指定的评分。 - **返回**: 以字段名为键的字典列表。 4. **`get_douban_limit_n_by_title(n)`** - **功能**: 查询豆瓣电影信息,筛选出标题包含指定字符串的电影。 - **参数**: `n` - 指定的字符串。 - **返回**: 以字段名为键的字典列表。 5. **`get_douban_limit_n_by_rank(n)`** - **功能**: 查询电影信息,筛选出排名等于指定值的电影。 - **参数**: `n` - 指定的排名。 - **返回**: 以字段名为键的字典列表。 6. **`insert_type(name, code)`** - **功能**: 插入电影类型信息。 - **参数**: `name` - 类型名称,`code` - 类型代码。 7. **`insert_movie(code, movie_name, avg_audience_count, release_time, avg_boxoffice, boxoffice, rank)`** - **功能**: 插入电影信息。 - **参数**: `code` - 电影代码,`movie_name` - 电影名称,`avg_audience_count` - 平均观众数,`release_time` - 上映时间,`avg_boxoffice` - 平均票房,`boxoffice` - 总票房,`rank` - 排名。 8. **`del_movie(code)`** - **功能**: 删除指定代码的电影信息。 - **参数**: `code` - 电影代码。 9. **`updta_movies(code, newname)`** - **功能**: 更新指定代码的电影名称。 - **参数**: `code` - 电影代码,`newname` - 新的电影名称。 10. **`convert_decimal_to_float(obj)`** - **功能**: 将对象中的 `Decimal` 类型转换为 `float` 类型。 - **参数**: `obj` - 需要转换的对象。 - **返回**: 转换后的对象。 ### `urls.py` 该文件定义了 URL 路由,将请求映射到相应的视图函数。 #### URL 路由列表 1. **`douban_n`** - **路径**: `/douban_n` - **视图函数**: `views.get_douban_n` - **功能**: 获取指定数量的豆瓣电影信息。 2. **`add_type`** - **路径**: `/add_type` - **视图函数**: `views.add_type` - **功能**: 插入电影类型信息。 3. **`score_n`** - **路径**: `/score_n` - **视图函数**: `views.get_douban_by_score` - **功能**: 获取评分等于指定值的豆瓣电影信息。 4. **`score_n_big`** - **路径**: `/score_n_big` - **视图函数**: `views.get_douban_by_score_big` - **功能**: 获取评分大于指定值的豆瓣电影信息。 5. **`title`** - **路径**: `/title` - **视图函数**: `views.get_douban_by_title` - **功能**: 获取标题包含指定字符串的豆瓣电影信息。 6. **`rank`** - **路径**: `/rank` - **视图函数**: `views.get_douban_by_rank` - **功能**: 获取排名等于指定值的电影信息。 7. **`add_movie`** - **路径**: `/add_movie` - **视图函数**: `views.add_movie` - **功能**: 插入电影信息。 8. **`del_movie`** - **路径**: `/del_movie` - **视图函数**: `views.del_movies` - **功能**: 删除指定代码的电影信息。 9. **`update`** - **路径**: `/update` - **视图函数**: `views.updata_movie` - **功能**: 更新指定代码的电影名称。 ### `views.py` 该文件包含处理请求的视图函数,并返回相应的响应。 #### 视图函数列表 1. **`get_douban_n(request)`** - **功能**: 处理获取豆瓣电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 包含电影信息的 JSON 响应。 2. **`get_douban_by_score(request)`** - **功能**: 处理获取评分等于指定值的豆瓣电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 包含电影信息的 JSON 响应。 3. **`get_douban_by_score_big(request)`** - **功能**: 处理获取评分大于指定值的豆瓣电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 包含电影信息的 JSON 响应。 4. **`get_douban_by_title(request)`** - **功能**: 处理获取标题包含指定字符串的豆瓣电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 包含电影信息的 JSON 响应。 5. **`get_douban_by_rank(request)`** - **功能**: 处理获取排名等于指定值的电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 包含电影信息的 JSON 响应。 6. **`add_type(request)`** - **功能**: 处理插入电影类型信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 操作结果的 JSON 响应。 7. **`add_movie(request)`** - **功能**: 处理插入电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 操作结果的 JSON 响应。 8. **`del_movies(request)`** - **功能**: 处理删除指定代码的电影信息的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 操作结果的 JSON 响应。 9. **`updata_movie(request)`** - **功能**: 处理更新指定代码的电影名称的请求。 - **参数**: `request` - HTTP 请求对象。 - **返回**: 操作结果的 JSON 响应。 #### 辅助类 `Resp` - **功能**: 提供统一的响应格式。 - **方法**: - **`msg(code, msg, data=None)`**: 返回包含指定代码、消息和数据的 JSON 响应。 - **`success(msg='处理成功', data=None)`**: 返回成功的 JSON 响应。 - **`warn(msg='操作异常,请重试')`**: 返回警告的 JSON 响应。 - **`error(msg='系统异常')`**: 返回错误的 JSON 响应。 ## 总结 本项目通过 Django 框架实现了电影信息的管理和查询功能。`services.py` 负责与数据库交互,`urls.py` 定义了 URL 路由,`views.py` 处理请求并返回响应。项目结构清晰,功能模块化,便于扩展和维护。