首页 > 解决方案 > 尝试在本地主机中从 Django 中的 POSTGRESQL 获取 JSON 数据

问题描述

我和我的朋友正在做一个项目,现在是时候合并我们的 postgresql 数据库了,我需要从我的数据库中获取所有内容并将其作为 JSON 文件发送。

作为一个编程新手,我不想弄乱我的数据库,因为我已经做过一次,并且想知道从http://127.0.0.1:8000/admin/获取所有内容作为 JSON 文件的最简单方法是什么。

我目前创建了主页和页脚信息,可以从管理页面控制并需要这些数据。

def home(request):
    if request.method == 'POST':
        form = ContactForm(request.POST or None)
        if form.is_valid():
            sender_name = form.cleaned_data['name']
            sender_email = form.cleaned_data['email']
            message = "{0} has sent you a new message:\n\n{1}".format(sender_name, form.cleaned_data['message'])
            send_mail('New Enquiry', message, sender_email, ['warp.dev.group@gmail.com'])
            return HttpResponse('Thanks for contacting us!')
    else:
        form = ContactForm()
    context = {
        "homepage": HomePage.objects.filter(name="homepage").first(),
        "footer": Footer.objects.filter(name="footer").first(),
        'form': form
    }

    return render(request, 'member/home.html', context)
class Footer(models.Model):
    name = models.CharField(max_length=20, blank=True)
    description = models.CharField(max_length=50, blank=True)
    contact_number = models.IntegerField(blank=True)
    facebook = models.URLField(max_length=50, blank=True)
    twitter = models.URLField(max_length=50, blank=True)
    instagram = models.URLField(max_length=50, blank=True)
    email = models.EmailField(max_length=30, blank=True)
    footer_data = models.CharField(max_length=30, blank=True)
    terms_and_conditions = models.URLField(max_length=250, blank=True)
    faq = models.URLField(max_length=250, blank=True)

    def __str__(self):
        return f'{self.name}'


class HomePage(models.Model):
    name = models.CharField(max_length=10, blank=True)
    main_visual = models.ImageField(default="default.jpg", upload_to="homepage_pics")
    top_content_header = models.CharField(max_length=100, blank=True)
    top_content = models.TextField(max_length=100, blank=True)
    featured_groups_header = models.CharField(max_length=100, blank=True)
    featured_groups = models.TextField(max_length=100, blank=True)
    seven_groups_header = models.CharField(max_length=100, blank=True)
    seven_groups = models.TextField(max_length=100, blank=True)
    about_us_header = models.CharField(max_length=500, blank=True)
    about_us = models.TextField(max_length=500, blank=True)

    def __str__(self):
        return f'{self.name}'

谢谢!奥努尔

标签: pythonjsondjangopostgresql

解决方案


推荐阅读