我收到一个错误:
/app处的OS错误/
[Errno 63]文件名太长:"/Users/XXX/test app/templates/jinja 2/{ ' items ':[{ '-':'-',' A': 'a ',' B': 'b ',' C: 'c ',' D': 'd'}]}
我想将json_parse方法的结果的<code>json_dict</code>嵌入到<code>视图中。将复制到index.html
。我在<code>视图中编写。py类似
from django.shortcuts import render
import json
def index(request):
f = open('./data/data.json', 'r')
json_dict = json.load(f)
return render('./index.html',json_dict)
我写的index.html像
<html>
<head>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.8.2/chosen.jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.css">
</head>
<body>
<select id="mainDD" data-placeholder="Choose" class="chzn-select" style="width:600px;">
{% for k, v in json_dict.items %}
<option>{{ v }}</option>
{% endfor %}
</select>
</body>
</html>
json_dict
有{'项目': [{'---': '---' ~~~
字典。我真的不明白为什么我不能发送
json_dict
到index.html
。我使用渲染方法是错误的吗?我该如何解决这个问题?
应用(子应用)urls.pyviews.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
父应用程序的urls.py为
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^app/', include('app.urls')),
]
Traceback是
Traceback:
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/xxx/testapp/app/views.py" in index
8. return render('./index.html',json_dict)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/shortcuts.py" in render
30. content = loader.render_to_string(template_name, context, request, using=using)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/loader.py" in render_to_string
67. template = get_template(template_name, using=using)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/loader.py" in get_template
21. return engine.get_template(template_name)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/backends/django.py" in get_template
39. return Template(self.engine.get_template(template_name), self)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/engine.py" in get_template
162. template, origin = self.find_template(template_name)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/engine.py" in find_template
136. name, template_dirs=dirs, skip=skip,
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/loaders/base.py" in get_template
38. contents = self.get_contents(origin)
File "/Users/xxx/myenv/lib/python3.5/site-packages/django/template/loaders/filesystem.py" in get_contents
28. with io.open(origin.name, encoding=self.engine.file_charset) as fp:
Exception Type: OSError at /app/
Exception Value: [Errno 63] File name too long: "/Users/xxx/testapp/templates/jinja2/{'items': [{'---': '---', ‘A’: ‘a’, ‘B’: ‘b’, ‘C: ‘c’, ‘D’: ‘d’}]}
通过答案进行编辑后,我在 /app/ init() 上得到了一个错误 TypeError 得到了一个意外的关键字参数 “match_extension”。回溯说回溯:
文件/用户/xxx/myenv/lib/python3.5/站点包/django/模板/utils.py在getitem65。返回自己。_engines[别名]
在处理上述异常(“jango”)期间,发生了另一个异常:
文件“/用户/xxx/myenv/lib/python3.5/site-packages/django/core/处理程序/异常.py”在内部41中。响应 = get_response(请求)
_get_response 187.response=self中的文件“/Users/xxx/myenv/lib/python3.5/site-packages/django/core/handers/base.py”。进程异常中间件(e,请求)
文件“/Users/XXX/myenv/lib/python 3.5/site-packages/django/core/handlers/base . py”in _ get _ response 185。response = wrapped _ callback(request,*callback_args,**callback_kwargs)
文件“/Users/xxx/testapp/app/views.py”位于索引13.return render(请求,'jinja2/index.html',{'json_dict':json_dic})
render 30中的文件“/Users/XXX/myenv/lib/python 3.5/site-packages/django/shortcut s . py”。content = loader . render _ to _ string(模板名称,上下文,请求,使用=使用)
文件"/用户/xxx/myenv/lib/python3.5/site-包/django/模板/loader.py"在render_to_string67.模板=get_template(template_name,使用=使用)
文件“/用户/xxx/myenv/lib/python3.5/site-packages/django/模板/加载器.py”,get_template 18。引擎 = _engine_list(使用)
文件/用户/xxx/myenv/lib/python3.5/site-包/django/模板/loader.py在_engine_list72.返回engines.all()如果使用是无其他[引擎[使用]]
文件“/用户/xxx/myenv/lib/python3.5/site-packages/django/模板/utils.py”在所有89个中。返回 [自我[别名] 为自我中的别名]
文件“/用户/xxx/myenv/lib/python3.5/site-packages/django/template/utils.py”在89中。返回 [自我[别名] 为自我中的别名]
getitem 80.engine=engine_cls(params)中的文件“/Users/xxx/myenv/lib/python3.5/site-packages/django/template/utils.py”
init 32中的文件“/Users/XXX/myenv/lib/python 3.5/site-packages/django/template/backends/django . py”。self.engine = Engine(self.dirs,self.app_dirs,* *选项)
异常类型:Type error at/app/Exception Value:init()获得了意外的关键字参数“match_extension”
你对 render() 的
调用是错误的,试试这个:
def index(request):
with open('./data/data.json', 'r') as f:
json_dict = json.loads(f.read())
return render(request, 'index.html', {'json_dict': json_dict})
所有内容都在文档中:
https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#render
问题内容: 我阅读了文档以及可以找到的关于PriorityQueue的所有信息,但仍然不明白为什么输出如此奇怪,我的意思是我无法理解添加订单的意义,有人可以解释吗? 输出: 问题答案: 仅保证第一个元素最小。 甲 二进制堆仅在每个子HEAB(子树)保证根是最小的元素。 堆实际上是一个完整树(或它的数组表示形式)。每当您插入违反条件的元素(小于根)时,都会筛选旧根。这是在堆上递归完成的。 这种部分排
问题内容: 我正在使用Python 3.6.1,但遇到了一些非常奇怪的事情。我有一个简单的字典作业错字,花了很长时间才找到。 输出量 代码在做什么?IMO应该什么时候都没有提出。起初,我认为它正在创建一个切片。但是,键入会引发一个。我也输入了控制台,但控制台没有打印任何内容。我以为也许它回来了,但是我不太确定。 我还认为这可能是单行if语句,但这也不应该是正确的语法。 此外,应提出一个。 我很困惑
当我发现这个奇怪的东西时,我正在玩JSX。使用以下JSX: 会产生正确的结果: 但我想在引号周围添加双引号,因此我尝试: 令我惊讶的是,它给出了正确的输出: 我希望得到类似的输出,因为它是字符串文字: 既然在字符串文本中,它为什么不按字面意思告诉我?这是巴贝尔的错误吗? 注意:这是一个自我提问和回答
问题内容: 因此,当我发现一些非常奇怪的东西时,我正在使用Node.js REPL和Underscore库。如果I ,则该变量是全局设置的(显然)。然后,当我尝试运行一个简单的命令时,它会打印出来(显然,再次)。但是,此后立即运行,因为变量设置为,它会打印。 为什么这样做呢?如果我从js文件运行相同的代码,则不会发生。这是正常的Node事情,还是全部错误? 仅供参考:节点v0.10.10 问题答案
根据Java教程 将包装类型(整数)的对象转换为其相应的基元(int)值称为取消装箱。当包装类的对象为: 作为参数传递给需要相应基元类型的值的方法 分配给相应基元类型的变量 为什么在这种情况下会发生拆箱? 在这种情况下,这些事情发生在哪里?是否有管理数组中元素访问的底层方法?或者[]暗示某种变量?
安装问题 PS C:\Users\Administrator sharp@0.21.3安装C:\用户\管理员\gatsby-site3\node_modules\锐(节点安装/libvips 使用缓存的C:\Users\Administrator\AppData\Roaming\npm-cache\u libvips\libvips-8.7.0-win32-x64.tar.gz info shar