Skip to main content

创建trade应用,判断是否显示网盘信息

本节开始,我们来实现交易模块。

创建trade应用

在交易模块中,我们需要创建一个名为trade的应用。使用以下命令可以创建该应用:

python manage.py startapp trade

创建完成后,在项目的文件结构中将会增加一个名为trade的文件夹,并包含对应的文件。

后台修改电影信息

接下来,我们需要启动服务,并在后台进行配置。

首先,通过以下命令启动服务:

python manage.py runserver

在浏览器中打开127.0.0.1:8000/admin,使用管理员账号登录。

如果忘记管理员密码,我们可以重新创建一个管理员账号。通过以下命令创建一个新的管理员账号:

python manage.py createsuperuser

按照提示输入管理员账号的用户名和密码,创建成功后重新启动服务。

在后台管理界面中,找到电影管理,并修改电影的收费设置和网盘地址。具体操作如下:

  1. 修改电影的收费信息:将"是否免费"改为"否",不免费。
  2. 添加网盘地址:输入一个合适的网盘地址,保存设置。

刷新页面后,可以看到电影详情页中显示了网盘地址。

图61-后台设置电影信息

设置电影详情页网盘页面

现在,我们需要判断用户是否可以查看网盘地址。

首先,在详情页中找到网盘信息,判断download info是否存在。

如果download info不存在,显示"暂无网盘"。

如果download info存在,我们通过添加一个按钮来触发判断用户是否登录并显示网盘信息。

在点击事件中,添加以下判断:

if (!this.$store.state.isLogin) {
this.showMessage("请先登录");
return;
}

这样,当用户点击按钮时,如果用户未登录,会显示"请先登录"的提示信息。

frontend/src/views/MovieDetail.vue
<div id="download_info" class="rounded bg-white mx-4 mt-4 py-6">
<h1 class="text-lg mb-6 font-semibold px-6">网盘地址</h1>

<div v-if="movie.download_info" class="px-6">
<div v-if="downloadInfo">
{{ movie.download_info }}
</div>
<div
v-else
class="flex justify-center items-center mx-6 rounded h-28 bg-gradient-to-r from-gray-600 to-gray-900"
>
<button
v-on:click="check_member_status"
id="check_member"
class="rounded text-center bg-blue-500 text-white h-10 w-48"
>
查看网盘地址
</button>
</div>
</div>
<div v-else class="px-6">暂无网盘信息</div>
</div>


<script>

// 判断用户状态
check_member_status() {
if (!this.$store.state.isLogin) {
showMessage("请先登录!");
return;
}
},
</script>

上述代码中,点击"查看网盘地址"按钮,会调用check_member_status函数,check_member_status()函数用于判断用户是否登录,如果没有的登录,则提示请先登录。运行效果如下图所示。

图61-游客点击按钮请先登录

以上是创建trade应用并判断是否显示网盘信息的步骤。