无法在控制台上获取 JSON 数据

Can't get JSON data on console

在页面上呈现之前尝试 console.log 数据,但我一直收到 404 not found or not attributeName 'Porfile' 没有用户名作为属性。

我是个菜鸟JSON,最近才开始摸索,帮忙做作业

JS:

$.ajax({
    type: 'GET',
    url: 'my-profile-json/',
    success: function(response){
        console.log(response);
    },
    error: function(error){
        console.log(error);
    }
});

网址:


from django.urls import path
from django.conf import settings
from django.conf.urls.static import static

from . import views
from .views import (
    post_view_json,
    profile_test_view,

    MyProfileView,
    MyProfileData,
)


urlpatterns = [
    path("", views.index, name="index"),
    path("login", views.login_view, name="login"),
    path("logout", views.logout_view, name="logout"),
    path("register", views.register, name="register"),
    path("test", profile_test_view, name="test"),
    path("my/", MyProfileView.as_view(), name="my-profile-view"),
    path("my-profile-json/", MyProfileData.as_view(), name="my-profile-json"),

    # endpoints
    path("posts-json/", post_view_json, name="posts-view-json")
]

观看次数

from django.contrib.auth import authenticate, login, logout
from django.db import IntegrityError
from django.http import HttpResponse, HttpResponseRedirect
from django.http.response import JsonResponse
from django.shortcuts import render
from django.urls import reverse
from django.core import serializers

from .models import User, Post, Profile
from django.views.generic import TemplateView, View


class MyProfileData(View):
    def get(self, *args, **kwargs):
        profile = Profile.objects.get(user=self.request.user)
        qs = profile.get_proposals_for_following()
        profiles_to_follow_list = []
        for user in qs:
            p = Profile.objects.get(user__username=user.username)
            profile_item = {
                'id': p.id,
                'user': p.username,
                'avatar': p.avatar.url,
            }
            profiles_to_follow_list.append(profile_item)
        return JsonResponse({'pf_data': profiles_to_follow_list})

class MyProfileView(TemplateView):
    template_name = 'network/my_profile.html'

在这里你使用 p.username 但它应该是 p.user.username:

profile_item = {
                'id': p.id,
                'user': p.username,
                'avatar': p.avatar.url,
            }