在一个页面模板中定义不同的应用程序-Django

mdfafbf1  于 2023-01-14  发布在  Go
关注(0)|答案(1)|浏览(75)

我正在尝试部署一个网站,我需要使用不同的应用程序。网站是一个页面,元素会发生变化,你可以看到不同的页面。但问题是,因为我使用不同的应用程序,Django需要url来调用views.py函数,我不希望每个应用程序都有单独的url。我希望有一个模板,接收来自不同应用程序的所有views.py变量并显示它们。模型已经注册。
Directory:
models.py:

class AboutpageText(models.Model):
    aboutText = models.TextField()

class Icons(models.Model):
    iconName = models.CharField(max_length=255)

    def __str__(self):
        return self.iconName

class ServiceItems(models.Model):
    serviceIcon = models.CharField(max_length=255)
    serviceName = models.CharField(max_length=255)
    serviceText = models.TextField()

    def __str__(self):
        return self.serviceName

views.py:

def aboutpage(request):

    aboutpageText = AboutpageText.objects.all()
    icons = Icons.objects.all()
    serviceItems = ServiceItems.objects.all()

    return render(request, "index.html", context={"aboutpageTexts": aboutpageText, "serviceItems": serviceItems, "icons": icons})

关于页面_应用程序urls.py:

urlpatterns = [
    path('', views.aboutpage)
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

网页(模板):

{% for aboutpageText in aboutpageTexts %}
<strong>{{ aboutpageText.aboutText }}</strong>
{% endfor %}

这些值不会传递到index.html
我试图在主目录中有一个名为www.example.com的视图文件mainView.py(manage.py所在的目录),并将应用程序视图文件中的所有值传递到此文件,然后将变量发送到模板,但也不起作用。

u2nhd7ah

u2nhd7ah1#

我相信你可以使用 AJAX 来实现这一点。
我的意思是有相同路径的不同URL,你可以为它们指定一个名称,这样你就可以找到它们,只需使用 AJAX 请求我来学习如何使用ajax https://www.tutorialspoint.com/django/django_ajax.htmhttps://www.geeksforgeeks.org/handling-ajax-request-in-django/的Django

相关问题