我对这个话题很新,但我想把Django和睡衣结合起来。将两者结合起来的聪明方法是什么?我不是在询问沟通,而是在谈论逻辑部分。
我是否应该将所有Pajamas生成的JS放在域的基础上,比如http://www.mysite.com/something并在子目录甚至子域上设置Django,所以所有JSON调用都将用于http://something.mysite.com/something?
据我所知,在这样的组合中,没有太多意义在Django中创建视图?
在睡衣中是否有一些清洁网址的解决方案,或者应该在其他级别解决?怎么样?在调用Pajamas生成的JS时,它是否将一些参数作为GET参数传递到干净的URL中的标准方法?
答案 0 :(得分:2)
你应该看一下好的Django With Pyjamas如何做。
答案 1 :(得分:2)
我设法让以下工作,但它并不理想。完全披露:我还没弄明白如何使用django的模板系统将内容纳入睡衣UI元素,我还没有确认这个设置适用于django的身份验证系统。我唯一确认的是,这会让睡衣生成的页面显示出来。这就是我所做的。
将由睡衣生成的主要.html文件放在django的“templates”目录中,并按照您提供的任何其他模板的方式从项目中提供。
将其他所有内容放入django的“静态”文件目录中。
对由睡衣生成的主.html文件进行以下更改:在head部分中找到name =“pygwt:module”的元素,并将content =“...”属性更改为content = “/ static / ...”其中“/ static /”是您在django中配置的静态页面URL路径;在body部分中找到带有src =“bootstrap.js”的script元素,并用src =“/ static / bootstrap.js”替换该属性。
每次使用睡衣重新生成文件时,都需要手动进行这些编辑。在生成输出时,似乎无法告诉睡衣使用特定的URL前缀。哦,睡衣的凉爽弥补了很多。
答案 2 :(得分:1)
酸,我不确定这是你希望得到的答案,但我一直在寻找与你相同的答案。
据我所知,最实用的方法是使用Apache服务器提供Pajamas输出,Django仅用作JSONrpc调用的服务API等。
另一方面,我开始怀疑Django是否是最好的选择,考虑使用它只是因为这个功能并没有充分利用它的大部分功能。
到目前为止,我发现使用Django以Django Views / Templates的形式提供睡衣输出的问题是,睡衣加载如此
主html页面加载“bootstrap.js”并根据使用的浏览器bootstrap.js将加载相应的应用页面。即使您使用Django模板语言正确设置静态文件链接以引用并加载“bootstrap.js”,我似乎也无法对引用每个应用程序页面的bootstrap.js执行相同的操作。
这让我感到难过,因为我喜欢Django的“无懈可击的URLS”功能。