小编Tri*_*rix的帖子

Django:在现有的html页面上返回StreamingHttpResponse

由于每个问题最好只有一个问题,如果与同一项目的另一部分相似,请耐心等待.

情况:

我在html上有一个表单,我可以在其中设置一个数字,当它被提交时,调用views.stream_response将值传递给stream.py并返回StreamingHttpResponse并显示"虚拟"空白浏览器页面(/ stream_response /),其中我可以每秒钟看到一个渐进的数字m:

   1
   2
   3
   ..
   m
Run Code Online (Sandbox Code Playgroud)

stream.py

import time

def streamx(m):
    lista = []
    x=0
    while len(lista) < m:      
        x = x + 1
        time.sleep(1)
        lista.append(x)
        yield "<div>%s</div>\n" % x 
        print(lista[-1])    
    return (x)
Run Code Online (Sandbox Code Playgroud)

--- UPDATE ---

views.py

def stream_response(request):   
    test = InputNumeroForm()   
    if request.method == 'POST':
        test = InputNumeroForm(data=request.POST)
        if test.is_valid():
            m = test.cleaned_data['numero']     
            print (test)      
            print("m = ", m) 
            #resp = StreamingHttpResponse(stream_response_generator(m))
            resp …
Run Code Online (Sandbox Code Playgroud)

html django streaming httpresponse django-views

8
推荐指数
1
解决办法
2016
查看次数

Django:将值从模板传递到视图

我有这种情况:

点击一个HTML提交按钮,我把views.stream_response它"激活" views.stream_response_generator其"激活" stream.py并返回StreamingHttpResponse,我看到一个渐进的数每秒达m/stream_response/:

1
2
3
4
5
6
7
8  //e.g. my default max value for m
Run Code Online (Sandbox Code Playgroud)

stream.py

from django.template import Context, Template
import time         


def streamx(m):
    lista = []
    x=0
    while len(lista) < m:      
        x = x + 1
        time.sleep(1)
        lista.append(x)
        yield "<div>%s</div>\n" % x  #prints on browser
        print(lista)     #print on eclipse
    return (x)
Run Code Online (Sandbox Code Playgroud)

views.py

def stream_response(request):   // unified the three functions as suggested

if request.method == …
Run Code Online (Sandbox Code Playgroud)

django streaming httpresponse django-forms django-views

3
推荐指数
1
解决办法
1万
查看次数

如何调用django html模板中的函数

我是Django的新手.问题是相当基本的,我读了一些谷歌链接和文件,显然我无法解决它.

基本上:

我需要访问html文件中特定博客的博客条目,但显然blog.blogentry_set()没有按预期工作.请有人帮忙吗.这是我试过的代码:

models.py文件:

class Blog(models.Model):
   subject = models.CharField(max_length = 20)
   ...

class BlogEntry(models.Model):
   ref = models.ForeignKey(Blog)
   ...
Run Code Online (Sandbox Code Playgroud)

index.html文件:

{% for blog in blogs %}
    <p>{{ blog.subject}}</p>
    <div>
      <p>{{blog.date}}</p>
      {% for entry in blog.blogentry_set.all() %}
          {{entry.text}}
      {% endfor %}
    </div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我试图删除(),这有助于起飞的错误消息,但预期不打印录入文字,所以东西又不能正常工作.

我在模板语言中听到,调用函数我们不需要(),但是我们如何传递参数?

另外,我问自己:我需要在这里"加载"一些文件吗?请帮忙:D

python django django-templates django-models django-views

1
推荐指数
1
解决办法
2287
查看次数