Intento consolar. registrar los datos antes de mostrarlos en la página, pero sigo obteniendo 404 no encontrado o no atributo El nombre 'Porfile' no tiene nombre de usuario como atributo.
Soy un novato cuando se trata de JSON, solo comencé a jugar con él recientemente, por favor ayuda, es para una tarea
JS:
$.ajax({ type: 'GET', url: 'my-profile-json/', success: function(response){ console.log(response); }, error: function(error){ console.log(error); } });URL:
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") ]Puntos de vista
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'Aquí usa p.username pero seguramente debería ser p.user.username:
profile_item = { 'id': p.id, 'user': p.username, 'avatar': p.avatar.url, }