【发布时间】:2020-05-28 23:54:53
【问题描述】:
这里是新手。
尝试制作一个网络应用程序,当按钮时生成并显示随机视频 在 django 页面上被点击。
我有一个生成视频的 python 脚本。
我有一个 django 项目,其中包含 templates/home.html、views.py、urls.py 和 我的python脚本videogenfull.py在里面。现在看起来像这样..
views.py:
from django.http import HttpResponse
from django.shortcuts import render
def home_view(request, *args, **kwargs):
print(args, kwargs)
print(request.user)
return render(request, "home.html", {})
urls.py:
from django.contrib import admin
from django.urls import path
from pages.views import home_view
urlpatterns = [
path('', home_view, name='home'),
path('admin/', admin.site.urls)
]
videogenfull.py - 从网络上随机抽取视频,对其进行编辑并将它们导出为一个(非常小的)视频。我已经设置了一个静态文件夹,生成的视频将转到该文件夹,并在 home.html 中放入一些 html 代码以播放视频。
html 页面已成功显示在我的浏览器中 - 文本标题和临时视频现在。
接下来我知道我需要:
- 在我的 html 文件中创建一个 html/ajax/jquery 按钮
- 在views.py 中编写一些代码以获取videogenfull.py,以便在单击按钮时触发
我已经在最后一部分做了很长一段时间了,但不知道该怎么做。 这是我需要做的吗?
home.html:
<button id="myClickButton" type="button">Click</button>
<div id="myOutput"></div>
$("#myClickButton").click(function() {
$.get("/output/", function(data) {
$("#myOutput").html(data);
}, "html");
});
views.py:
def index(request):
return render(request, 'yourapp/index.html')
谢谢!
【问题讨论】:
-
首先在
view.py中编写一些函数,该函数至少呈现文本"Hello World",并在path('output/', ...)中分配此函数。并测试单击按钮时是否会看到"Hello World"。以后你可以在这个函数中做一些更有用的事情。 -
我可以像我在这里展示的那样实现“Hello World”,但是如何放入views.py并在按钮单击时激活?
def home_view(request, def home_view(request, *args, **kwargs): print(args, kwargs) print(request.user) return HttpResponse("<h1>Hello World</h1>") -
你必须将此函数分配给 url
urlpatterns = [ path('output/', home_view, name='home'), ...]然后按钮将使用它。但似乎你已经有其他功能home_view所以也许改名def output_view ...然后urlpatterns = [ path('output/', output_view, name='output'), ...] -
我收到此错误消息 - 仍在处理中 -"使用 trydjango.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式: output/ [name='output'] The empty路径与其中任何一个都不匹配。”
-
这就是我做网址的方式....
from pages.views import output_view urlpatterns = [ path('output/', output_view, name='output'), ]
标签: python html jquery django ajax