在一个页面模板中定义不同的应用——django



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

目录:

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})

aboutpage_app/urls . py:

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

index . html(模板):

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

值没有传递给index.html

我试图有一个视图文件mainView.py在主目录(管理.py的地方),并传递所有的值从应用程序的视图文件到这个文件,然后发送变量到模板,但没有工作太。

我相信你可以使用Ajax。
我的意思是有不同的url有相同的路径,你可以为他们指定一个名字,这样你就可以找到他们,只要用ajax请求学习如何使用Django和ajaxhttps://www.tutorialspoint.com/django/django_ajax.htmhttps://www.geeksforgeeks.org/handling-ajax-request-in-django/

最新更新