相关疑难解决方法(0)

Django活动源(Feedly Integration?)

我已经构建了一个简单的Django照片应用程序.用户可以上传照片,关注其他用户和照片.为了处理用户之间的关系(跟随和取消关注),我使用了一个名为django-relations by coleifer的软件包.这是一个很棒的包,使用起来非常简单.

一切都按预期工作.我目前有一个工作活动Feed.

我将Feed分为两部分:跟随(我关注的用户的所有活动)和你(发生在我身上的所有活动).我在我的iOS应用程序下面发布了两张图片,它使用我的Django照片应用程序,因为它是后端:

在此输入图像描述 在此输入图像描述

我想要做的是添加聚合到以下Feed.正如你所看到的,用户alexperri喜欢5次射击.我想将所有这些项目合并为一行.我不需要为"你"提要添加聚合,因为我希望看到每个单独的操作都发生在我身上.但是对于以下Feed,添加聚合是有意义的.有几个应用程序可以很好地进行聚合.Fashionlista,Pinterest和Instagram做得很好.这是一个来自Instagram的例子来展示我想要实现的目标:

在此输入图像描述

在上面的示例中,您可以看到以下Feed,而lovetoronto喜欢5张照片.我开始在播放后使用Instagram来查看它是如何工作的.Instagram关注源显示最多35个活动条目,每个条目最多可包含该活动类型的5个活动."lovetoronto喜欢5张照片"是一个活动条目,它显示了他喜欢的最新5张照片.由于lovetoronto进行了最新的动作,他处于领先地位.

我想实现相同的设置.

这是我目前的模型设置:

models.py

from django.db import models
from django.contrib.auth.models import User

class Photographer(models.Model):
    user = models.OneToOneField(User, primary_key=True
    likes = models.ManyToManyField('Photo', through = 'Likes', 
                                   related_name = 'likedby', blank = True)

class Photo(models.Model):
    photographer = models.ForeignKey(Photographer, related_name = 'shot_owner')
    created = models.DateTimeField(auto_now_add=True)
    url = models.CharField(max_length=128)

class Likes(models.Model):
    liked_at = models.DateTimeField(auto_now_add=True, blank=True, null=True)
    photographer = models.ForeignKey(Photographer, related_name = 'liked_by')
    photo = models.ForeignKey(Photo, null=True)

class Activity(models.Model):
    actor = models.ForeignKey(Photographer, related_name = 'actor')
    receiver = models.ForeignKey(Photographer, related_name …
Run Code Online (Sandbox Code Playgroud)

django feed django-aggregation news-feed tastypie

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

在Django Rest Framework中找不到资源时返回自定义404错误

我正在学习Django Rest Framework,也是django的新手.我想404在客户端访问未找到的资源时在json中返回自定义错误.

urls.py看起来很喜欢这个:

urlpatterns = [
    url(r'^mailer/$', views.Mailer.as_view(), name='send-email-to-admin')
]
Run Code Online (Sandbox Code Playgroud)

其中我只有一个资源,可以通过URI访问,http:// localhost:8000/mailer /

现在,当客户端访问任何其他URI,如http:// localhost:8000 /时,API应该返回如下404-Not Found错误:

{
    "status_code" : 404
    "error" : "The resource was not found"
}
Run Code Online (Sandbox Code Playgroud)

如果合适,请使用正确的代码段建议一些答案.

python django rest django-rest-framework

10
推荐指数
2
解决办法
5714
查看次数

Django JSON ::'dict'对象没有属性'_meta'

def display_home(request):
    from datetime import *
    now=datetime.today()
    print 'Month is %s'%now.month

events=Event.objects.filter(e_date__year=datetime.today().year).filter(e_date__month=datetime.today().month,e_status=1).values('e_name','e_date')
return render_to_response("SecureVirtualElection/home.html",{'events': serializers.serialize("json",events, fields=('e_name','e_date'))},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

error ::'dict'对象没有属性'_meta'

django json

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

在Django中创建UTF-8 JsonResponse

是否有任何简单的方法来覆盖DjangoJSONEncoder.ensure_ascii并将其设置为Falsedjango.http.JsonResponse以任何其他方式输出非ascii文本?

django json utf-8

8
推荐指数
2
解决办法
7740
查看次数

如何使用ajax(json)的谷歌应用引擎?

如何使用ajax(json)的谷歌应用引擎?

现在我有这个,但我收到了这个错误:

raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded


from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import simplejson as json

class AjaxHandler(webapp.RequestHandler):
    def post(self):
        args = json.loads(self.request.body)
        self.response.headers['Content-Type'] = 'application/json'
        self.response.out.write('Hello, webapp World!')





application = webapp.WSGIApplication(
                                     [('/AJAX', AjaxHandler)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

和javascript + jquery:

var Server = function() {
};
Server.prototype = {
    init: function(ajaxTargetUrl) {
        this.ajaxTargetUrl = ajaxTargetUrl;
    },
    request: function(service, data) {
        $.ajax({
            url: …
Run Code Online (Sandbox Code Playgroud)

google-app-engine

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

将QuerySet作为JSON返回?

我在Django 1.8工作,很难找到现代的方法来做到这一点.

这是我所拥有的,基于谷歌和这篇博文:

results = PCT.objects.filter(code__startswith='a')
json_res = []
for result in results:
    json_res.append(result.as_dict())
return HttpResponse(json.dumps(json_res), content_type='application/json')
Run Code Online (Sandbox Code Playgroud)

然而,这给了我'PCT' object has no attribute 'as_dict'.

当然,现在一定有一个更简洁的方法吗?

我想知道是否可以使用JSONResponse但令人沮丧的是,文档没有给出如何将JSONRespose与查询集一起使用的示例,这必须是最常见的用例.我试过这个:

results = PCT.objects.filter(code__startswith='a')
return JsonResponse(results, safe=False)
Run Code Online (Sandbox Code Playgroud)

这给了[<PCT: PCT object>, <PCT: PCT object>] is not JSON serializable.

django json

5
推荐指数
2
解决办法
2万
查看次数

Django HTML模板中的Javascript变量

我正在写一个Django应用程序,虽然有点熟悉Django,但我对JavaScript很不熟悉.我在我的一个页面中添加了几行JavaScript以包含地图.

该脚本只包含初始化地图,然后根据保存在我的数据库中的信息添加标记.

鉴于代码太少,将脚本保留在HTML模板中并使用我的数据库传递信息仍然被认为是不好的做法{{info}}吗?

如果是这样,你认为哪种方法更好?

javascript python django

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

如何将 JSON 数据从 Django 视图传递到 Vue.js 实例方法

我是 Vue.js 的新手。如何将 JSON 数据从 Django 视图传递到 vue 实例(方法)。

视图.py

def articles(request):
    model = News.objects.all() # getting News objects list
    random_generator = random.randint(1, News.objects.count())
    context = {
              'title' : 'Articles' , 
              'modelSerialize' :  serializers.serialize('json',News.objects.all()),
              'num_of_objects' : News.objects.count() , 
              } 
    return render(request, 'articles.html',context)
Run Code Online (Sandbox Code Playgroud)

VueScript.js

new Vue({

    el: '#list-Of-Articles-Displayed',
                data: {
                   count: 0
              },    
        ready: function() {


          this.$http.get('http://127.0.0.1:8000/article/').then(function (response) {
              response.status;
              console.log(response); 
          }, function (response) {
                  alert("error ");
              // error callback
          });

        }

        })
Run Code Online (Sandbox Code Playgroud)

模板(文章.html)

<div id = "list-Of-Articles-Displayed" class = "col-lg-10" …
Run Code Online (Sandbox Code Playgroud)

python django templates json vue.js

4
推荐指数
2
解决办法
7434
查看次数

如何在视图Django中更改渲染以返回json

我有功能在视野中

from django.shortcuts import render
from .models import myModel

def articleTheme(request):
    if request.method == 'POST':
        article_id = request.POST['id']
        article = myModel.objects.get(id=article_id)
        theme = article.theme
        return render(request, 'theme.html', {'newTheme': theme })
Run Code Online (Sandbox Code Playgroud)

现在它正常工作.但我有多余的HTML.我想要返回json对象.我可以导入和返回什么?

python django

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

姜戈;如何在没有模板的情况下创建视图(函数)

是否可以在没有模板的情况下创建函数?就像我正在尝试创建删除功能,我想做的是在单击删除按钮后立即删除某些内容,然后重定向到其他页面。

我想在用户可以编辑帖子的页面上放置一个删除按钮。html是这样的

        <button type="submit" class="btn btn-outline-secondary">Save Changes</button>
        </form>
Run Code Online (Sandbox Code Playgroud)

我想将删除按钮放在该按钮旁边。

def edit_entry(request, entry_id):
    '''Edit a post.'''

    entry = Entry.objects.get(id=entry_id)

    if request.method != 'POST':
        form = EditEntryForm(instance=entry)
    else:
        form = EditEntryForm(instance=entry, data=request.POST)

            if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse_lazy('main:index'))
    return render(request, 'main/edit_entry.html', {'entry': entry, 'form': form})


def delete_entry(request, entry_id):
    '''Delete post'''
    #I don't wanna create template for this function.
    pass
Run Code Online (Sandbox Code Playgroud)

谁能给我提示吗?

python django

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

如何从Ajax()获取值到Django模板中?

我有一个Django模板,其中显示了从数据库接收的多个值,并将其传递给模板,如下所示:

在views.py中

def test1(requests):
  requests.get...
  requests.get...
  requests.get...
  someQuery = "select id from table;"
  executeQ(someQuery)
  someQuery = "select id from table;"
  executeQ(someQuery)
  someQuery = "select id from table;"
  executeQ(someQuery)
  context = Data1, Data2, Data3
  return render_to_response('test1/index.html', context)
Run Code Online (Sandbox Code Playgroud)

在template / test1 / index.html中

<html>
  ...... 

<table>
<th> header1 </th>
<th> header2 </th>
<th> header3 </th>

{% for row in context %}
 <td> row.1 </td>   
 <td> row.2 </td>
 <td> row.3 </td>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

现在,我要通过Ajax更新那些row.1,row.2,row.3,而不必每次都重新分配页面。数据来自数据库。那么我在哪里以及如何放置一些Ajax()来实现Django?

python django ajax jquery

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

Django URL路由问题

对Django来说很新,所以我很抱歉,因为我确信这有一个简单的答案.

我有一个PHP背景,所以我猜我正试图强制我习惯的结构,而不是Django中的原生结构.

这是我的项目urls.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^', include('pm.urls', namespace='pm')),
)
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序urls.py

from django.conf.urls import patterns, url
from pm import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^label/add/$', views.add_label, name='label_add'),
)
Run Code Online (Sandbox Code Playgroud)

我正在对/ label/add /做一个AJAX Post请求,但它回来时出现500错误.

这是views.py:

from django.shortcuts import render
from pm.models import Label
import json

# Create your views here.
def index(request):
    labels_list = Label.objects.order_by('name')
    return render(request, 'pm/index.html', {
        'labels' : …
Run Code Online (Sandbox Code Playgroud)

python django

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

Django向后关系

我正在为应用程序设置webservices,我有以下模型:

class Parent(models.Model):
    ...
class Child(models.Model):
    parent = models.ForeignKey(Course)
    ...
Run Code Online (Sandbox Code Playgroud)

关系是一对多(1父,多子)现在,我想获取所有父对象及其特定的子对象并将其作为JSON请求发送.是否有可能这样做而不必首先得到所有"孩子"并迭代他们寻找与特定父母相关的那些?我认为这对于真正的大型数据库来说效率极低,而且"Childs"不会在其他"Parents"中重复出现

非常感谢你

python django

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