Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript django变更单由用户请求_Javascript_Jquery_Django_Django Models_Django Views - Fatal编程技术网

Javascript django变更单由用户请求

Javascript django变更单由用户请求,javascript,jquery,django,django-models,django-views,Javascript,Jquery,Django,Django Models,Django Views,我们正在网络浏览器上加载模型“Post”的内容,该模型由“hemia”(我们的流行变量)排序 现在,当用户单击按钮时,我们希望通过“pop_date”(我们的到期日期变量)来订购相同的内容 是否可以在不重新加载浏览器页面的情况下立即执行此操作 到目前为止,我们看到的选项包括: 更改“order_by”并请求一个新列表(对数据库执行新操作,重新加载所有媒体) 使用python的“排序”函数(加载的许多帖子的内存问题) models.py class Post(models.Model):

我们正在网络浏览器上加载模型“Post”的内容,该模型由“hemia”(我们的流行变量)排序

现在,当用户单击按钮时,我们希望通过“pop_date”(我们的到期日期变量)来订购相同的内容

是否可以在不重新加载浏览器页面的情况下立即执行此操作

到目前为止,我们看到的选项包括:


  • 更改“order_by”并请求一个新列表(对数据库执行新操作,重新加载所有媒体)
  • 使用python的“排序”函数(加载的许多帖子的内存问题)
models.py

class Post(models.Model):
    pub_date = models.DateTimeField('date published',auto_now=True)
    pop_date = models.DateTimeField('Popping time', blank=False)        
    helium=models.IntegerField(default=0)
    (...)
views.py(查询)

url.py

# Order by Helium       
url(r'^(?P<slug>[-\w]+)/popular$', views.IndexView.as_view(ordering='-helium'), name='index'),    

# Order by Popping time
url(r'^(?P<slug>[-\w]+)/timeline$', views.IndexView.as_view(ordering='pop_date'), name='index_now'),    
#按氦订购
url(r'^(?P[-\w]+)/popular$',views.IndexView.as_view(ordering='-he'),name='index'),
#按弹出时间排序
url(r'^(?P[-\w]+)/timeline$',views.IndexView.as_view(ordering='pop_date'),name='index_now'),

我肯定会选择
order\u by
。你不能使用
排序
在用户单击按钮后,你必须再次发出另一个
请求
(你最终可以使用JS,但这是一个全新的故事-你必须获取你需要的所有数据,这将限制你将来不能使用分页)。

重新加载所有媒体:否,web浏览器足够智能,只需重新加载HTML内容。感谢您的提示,我们将继续提供您的建议。出于好奇,您将如何使用JS来解决这个问题?使用
JS
。流程类似于-,从html中获取所有
post
,然后对它们重新排序。检查问题,有一个示例解决方案。
# Order by Helium       
url(r'^(?P<slug>[-\w]+)/popular$', views.IndexView.as_view(ordering='-helium'), name='index'),    

# Order by Popping time
url(r'^(?P<slug>[-\w]+)/timeline$', views.IndexView.as_view(ordering='pop_date'), name='index_now'),