我正在尝试使用Django,并弄清楚如何设置urls.py以及URL如何工作。我已经在项目的根目录中配置了urls.py,以定向到我的博客和管理员。但是,现在我想在首页添加一个页面,所以在localhost:8000
。
因此,我在项目根目录的urls.py中添加了以下代码:
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
(r"^$", direct_to_template, {"template": "base.html"}),
)
问题是它在blog / templates / …中搜索模板, 而不是在我的根目录中搜索template文件夹。其中包含base.html。
完整的urls.py:
from django.conf.urls import patterns, include, url
from django.views.generic.simple import direct_to_template
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r"^$", direct_to_template, {"template": "base.html"}),
url(r'^blog/', include('hellodjango.blog.urls')),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
(r'^tinymce/', include('tinymce.urls')),
)
你设置好TEMPLATE_DIRS
了settings.py
吗?检查并确保使用绝对路径正确设置了它。这是我确保正确设置的方式:
settings.py
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_ROOT, 'templates').replace('\\','/'),
)
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
这样,我templates
在项目根目录中有一个用于非应用程序模板的templates/appname
文件夹,每个应用程序内部都有一个文件夹。
如果要使用根模板文件夹中的模板'base.html'
,则只需输入模板名称,例如,如果要使用应用程序模板,则使用'appname/base.html'
资料夹结构:
project/
appname/
templates/
appname/ <-- another folder with app name so 'appname/base.html' is from here
base.html
views.py
...
templates/ <-- root template folder so 'base.html' is from here
base.html
settings.py
views.py
...
我试图通过Django制作一个新网站的主页。我的应用程序名称是“博客”,主页是home.html当我去http://127.0.0.1:8000/blog/home/时,我仍然收到错误模板不存在 我确保在settings.py中将“blog”添加到我的模板中,并在主目录中以及通过blog/templates/blog/home.html添加文件夹模板 myproject/blog/views.py
是时候把数据展示出来了!Django提供了一个非常有用的内置来实现-—|-模板标签 什幺是模板标签呢? 正如你在前面章节中所了解的那样, 我们并不能将 Python 代码嵌入到HTML中。 因为浏览器不能识别 Python 代码, 它只能解析HTML。 我们知道,HTML是静态页面,而 Python 则显得更加动态。 Django模板标签允许我们将Python之类的内容翻译成HTML,所以你可以更
在上一章节中我们使用 django.http.HttpResponse() 来输出 "Hello World!"。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。 本章节我们将为大家详细介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。 模板应用实例 我们接着上一章节的项目将在 HelloWorld 目录底下创建 templates 目录并建立 h
本文向大家介绍Django框架模板文件使用及模板文件加载顺序分析,包括了Django框架模板文件使用及模板文件加载顺序分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Django框架模板文件使用及模板文件加载顺序。分享给大家供大家参考,具体如下: 模板功能 产生html,控制页面上产生的内容。模板文件不仅仅是一个html文件。 模板文件包含两部分内容: 1.静态文件:css,js,ht
问题内容: 我是django的新人。 我想创建一个自定义窗口小部件。 forms.py: widget.py: project / widgets / filter.html: 但是它不会呈现新模板,而是仍然呈现旧方法。 你能给我一些提示吗? 问题答案: Django版本 <1.11: 小部件必须实现该方法才能呈现不同的模板: Django 1.11版: 在渲染器的文档中,我们可以找到以下内容:
Compose 模板文件 模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。 version: "3"services: webapp: image: examples/web ports: