18910140161

Python-为什么需要在render()中指定HTML文件-堆栈溢出

顺晟科技

2022-10-19 11:58:46

206

为什么我需要在里面提供html文件名-我已经在Django中设置了项目文件的url

urls.py

render()

views.py

render()

为什么我不能在渲染中让步?


顺晟科技:

不是相同的,Django需要知道一个对应于另一个。

Django中的路由如下所示:

  1. 用户使用URL向Django发送请求。
  2. Django在您的URL中查找与请求内容匹配的路径
  3. 当它找到一个路径时,该路径有一个视图。视图只是一个函数(),由Django执行。
  4. view函数将返回用户将看到的内容。如果您愿意,您可以手工将整个页面写成一行中的字符串,但这很不方便,所以您可以告诉Django从模板开始为您创建页面。为此,可以调用。
  5. 所做的是获取模板并替换所有需要替换的部分,以便用户看到它。但是要知道初始内容是什么样子,它需要从某个地方读取它,这就是HTML文件。

HTML文件不需要与视图具有相同的名称,您可以调用它,它也可以使用相同的名称。但是不管它的名称是什么,您都需要告诉Django您想要使用一个文件(告诉Django),并且您需要告诉Django该文件在哪里。您在不同的地方会有许多不同的文件,名称也不同,而且不同目录中的模板也可能有相同的名称,因此Django不会试图猜测您想要哪个:您必须将其路径放在里面,以便Django知道从哪里开始构建页面。

如果给出的是URL而不是文件的路径,Django将得到点5,然后再次返回到1,以找出该URL的含义,等等,直到永远。

我想你有错字

render()

您的问题是为什么在render中需要html文件名,因为render是一个函数,它需要3个参数,第一个是请求,第二个是“html文件的路径”,第三个是上下文

进一步解释

您是否基本了解django是如何工作的,首先,您在呈现中不是给出url,而是给出要呈现的路径,应该呈现哪个模板。django遵循mvc模式,但为了简化它,url只是有路由任务,它们只是在那里过滤路由,而不是在url中做任何事情,您可以给出3个参数,两个是强制性的,首先是它识别时间到了的路径,其次是函数名,它指示他去哪里,然后是它的函数负责处理数据

不幸的是,您没有返回视图中的任何内容。因此,您需要在函数中添加return:

render()

您可能需要查看以下内容tutorial.

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航