Questions tagged «django»

Django是使用Python编写的开放源代码服务器端Web应用程序框架。它旨在减少创建复杂的数据驱动的网站和Web应用程序所需的工作量,并特别关注更少的代码,无冗余以及比隐式更显式的工作。

4
在Git中备份MySQL数据库是一个好主意吗?
我正在尝试改善应用程序的备份情况。我有一个Django应用程序和MySQL数据库。我读了一篇文章,建议在Git中备份数据库。 一方面,我喜欢它,因为它将使数据和代码的副本保持同步。 但是Git是为代码而不是数据而设计的。因此,它会做很多额外的工作来使MySQL每次提交都转储,这并不是必须的。如果我在存储文件之前先对其进行压缩,那么git还会对文件进行区分吗? (转储文件当前未压缩为100MB,压缩后为5.7MB。) 编辑:代码和数据库模式定义已经在Git中了,它确实是我现在担心备份的数据。
57 database  git  mysql  django 

6
我如何学习从零到Web开发的Python?[关闭]
我正在研究用于网络开发的Python。 假设我已经具备Java(JSP / Servlets)的一些基本的Web开发经验,我已经熟悉Web设计(HTML,CSS,JS),基本的编程概念,并且我对Python完全陌生,那么我该怎么做以结构化的方式学习Python,最终将引导我使用Python和Django进行Web开发吗? 我并不急于用Python制作Web应用程序,因此我真的很想彻底学习它,以免在我对涉及Python中的Web开发的技术的了解上保持任何差距。有书籍,资源或技巧可以帮助我吗?我应该按什么顺序阅读它们? 更新: 当我说以结构化的方式学习时,我的意思是从基础开始,然后学习高级内容,而又不离开Python必须提供的一些重要细节/功能。我想知道如何将我在编程中已经知道的东西应用于Python。

4
如何为我的Django网站开发前端(UI)
我正在学习Django和Web开发的新手。如果您觉得这个问题太蠢了,请原谅。 因此,我正在使用Django创建一个Facebook应用程序,并将其托管在Google App Engine中。该项目将专注于阅读任何网站的RSS / Atom提要(这就是我现在能说的)。 我确定足以处理RSS / Atom文件,但是我担心前端(用户界面)部分-“设计部分”。我不知道HTML / CSS / JavaScript(我可以处理简单的HTML东西,但这不会导致任何设计问题)。 首先,我考虑过使用Dreamweaver之类的工具或任何等效软件来设计UI,但是当我真正开始学习django并开始使用它时,这似乎是“不可能”的事情。 所以, 我应该如何设计网站的UI部分?我不能使用Dreamweaver之类的工具吗? 如果否,那么像我这样不懂JavaScript / CSS的人的最佳方法是什么 如果是,那么Dreamweaver的最佳开源替代方案是什么? Google App Engine可以处理所有这些吗? 与Django打交道的人如何编辑这些模板页面。Django提到它将逻辑(视图)和设计(模板)部分分开,以便公司中的不同部门可以分别处理。但是,考虑到Django的HTML页面充满了与HTML(设计)无关的“标签”,UI用户如何处理它?

3
python业务逻辑应放在Django的确切位置
我刚刚开始学习Django / Python / Web开发。这个问题已经困扰我一段时间了。 我正在Django中创建带有多个模板的应用程序。我有一个views.py,它基本上只是呈现对相应模板的响应,并且我有一个我在其中构造数据库的model.py。在我的一个模板中,我需要上传一个图像(我能做到),并且我需要运行一个基于上传图像特性的逻辑(尚未完成)。这种逻辑涉及许多繁重的计算。执行计算后,逻辑应将一些已处理的信息(坐标)返回到模板。 我已经能够在一个独立的python桌面应用程序中成功地完成所有这些操作,一个又一个地调用python文件。但是,由于我现在想使它成为Web应用程序,所以我开始使用Django框架。 我已经做了很多搜索,但仍然无法弄清楚应将包含所有逻辑的Python文件放在哪里。我是否应该有另一个基于类的文件(logic.py),并从中调用它view.py?我在Google上搜索后发现,许多开发人员将其业务逻辑放在Django的models.py中。但是,我认为从直觉上来说是不正确的,因为模型应该专门与后端进行通信。任何帮助将不胜感激。

5
Python和Django选择Java / .NET Web开发人员有多难?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 几个月前,我刚刚在一家小公司开始了新工作,目前负责目前和将来的所有开发工作。我个人从Java到.NET方面都有多年的软件设计和开发经验。我在职业生涯的后期很轻松地学习了.NET,几乎不需要任何培训就可以投入工作,最重要的是,它通过看到两种不同的观点,帮助我真正地掌握和欣赏了许多最佳实践和通用主题的普遍性。解决相同的问题。 我的老板旁边有一家初创公司,并且在不泄露过多信息的情况下,他需要一个中等复杂的Web应用程序,该应用程序可以集成到Google Maps中以构建路线。 他将他们过度承诺的Web应用程序外包了出去,主要是交付不足,并在截止日期前运行。他目前正在努力争取至少收回他所投资的一些资金。他现在拥有该网站的源代码,但是在上线之前有一份清单,他希望对其进行修复和补充。 他问我是否愿意为此花一些额外的钱,但是问题是该网站是使用Django用Python编写的,我对此没有任何经验。我告诉他我真的不是最好的人,因为我对Python或Django几乎一无所知,因此必须从头开始学习。我觉得如果我利用这段时间学习语言和平台,对我来说按小时计费是不公平的。 根据我的经验水平的总结,您认为我要花多长时间或多少时间?如果您认为这很浪费时间,那么有人可以建议在哪里找到有经验的Python Web开发人员吗?金钱现在对他来说很重要,因此他不再有最大的预算。

4
Django表单违反了MVC吗?
我刚开始使用来自Spring MVC多年的Django,并且表单实现有点疯狂。如果您不熟悉,Django表单会以定义您的字段的表单模型类开始。Spring同样从表单支持对象开始。但是,在Spring提供用于将表单元素绑定到JSP中的后备对象的taglib的地方,Django却具有直接绑定到模型的表单小部件。有默认的小部件,您可以在其中向您的字段添加样式属性以应用CSS或将完全自定义的小部件定义为新类。所有这些都在您的python代码中。对我来说这似乎很疯狂。首先,您将有关视图的信息直接放入模型中,其次将模型绑定到特定视图。我想念什么吗? 编辑:一些示例代码按要求。 Django: # Class defines the data associated with this form class CommentForm(forms.Form): # name is CharField and the argument tells Django to use a <input type="text"> # and add the CSS class "special" as an attribute. The kind of thing that should # go in a template …
16 mvc  django 

2
Django应用策略
我在Django项目上工作了一段时间,该项目最近有所增长。我一直在思考使用哪种策略使其更易于处理。我想得到一些输入的一件事是,如果我应该将我的应用程序拆分为几个较小的应用程序。这将使我的视图和模型文件更小,并分离出一些问题。 让我感到困扰的一件事是,在我的应用程序中,我将有几种将在整个应用程序中使用的辅助方法。此外,某些模型还必须在应用程序之间共享/使用。这有意义吗?这与我希望通过将我的应用程序拆分为几个较小的应用程序来实现的关注点分离并不合适。在各个应用程序之间共享辅助方法,模型等的好方法是什么?

1
Windows是Django社区中的“二等公民”吗?
我目前正在为Web应用程序进行研发,我们计划首先托管自己,然后让客户自行托管。 我的任务一直是评估Web框架,以期从一开始就可以为我们带来最大的生产力和维护的便利性,同时还使我们能够轻松地支持部署到客户控制的环境。 我们的团队具有ASP.NET(MVC和Webforms)和Ruby on Rails的经验。 我们在Rails上的经验是Windows部署是一个非常禁忌的话题,任何有关IRC或StackOverflow的问题都会引起“为什么不是Linux”的回应。但是,在这种情况下,我们的目标市场可能是运行Windows或Linux服务器。 在Django领域也是如此吗? 垃圾表现可能吗? 失去疼痛有可能吗? 是否因为不想运行Linux而被视为合理且没有被视为完全愚蠢的想法?

4
我应该在JSON响应中包含HTML标记吗?
在电子商务网站中,将商品添加到购物车时,我想显示一个弹出窗口,其中包含您可以选择的选项。假设您要订购iPod Shuffle,现在必须选择要雕刻的颜色和文字。 我希望窗口是模态的,所以我正在使用由Ajax调用填充的灯箱。现在我有两个选择: 选项1:仅发送数据,并使用JavaScript生成HTML标记 这样做的好处是,它将Ajax请求减少到了最低限度,并且没有将数据与标记混合在一起。 这样做的不好之处在于,现在我需要使用JavaScript进行渲染,而不是在服务器端使用模板引擎来进行渲染。通过使用客户端模板解决方案,我也许可以稍微清理一下方法。 选项2:发送HTML标记 这样做的好处是,我可以拥有与其余渲染任务(Django)相同的服务器端模板引擎,进行灯箱的渲染。JavaScript仅用于将HTML片段插入页面。因此,它显然将渲染留给了渲染引擎。我感觉合理。 但是由于某种原因,我不愿意在Ajax调用中混合数据和标记。我不确定是什么使我对此感到不安。我的意思是,每个网页的投放方式都一样-数据加标记-对吗?
13 mvc  django  templates  json 

1
Django中的单元测试
我真的很难为一个大型Django项目编写有效的单元测试。我具有相当好的测试覆盖范围,但是我已经意识到,我一直在编写的测试绝对是集成/验收测试,而不是单元测试,而且我的应用程序中有关键部分没有得到有效测试。我想尽快解决此问题。 这是我的问题。我的模式是深层的关系,并且非常注重时间,这给我的模型对象带来了很高的内部耦合和很多状态。我的许多模型方法都是基于时间间隔进行查询的,而在带有auto_now_add时间戳的字段中,我有很多事情要做。因此,以如下所示的方法为例: def summary(self, startTime=None, endTime=None): # ... logic to assign a proper start and end time # if none was provided, probably using datetime.now() objects = self.related_model_set.manager_method.filter(...) return sum(object.key_method(startTime, endTime) for object in objects) 一种方法如何测试这样的东西? 这是我到目前为止的位置。在我看来,应该对单元测试目标的参数进行一些模拟行为by key_method,是否summary正确地过滤/聚合以产生正确的结果? 模拟datetime.now()很简单,但是我如何模拟其余的行为呢? 我可以使用固定装置,但是我听说过使用固定装置构建数据的利弊(可维护性差是我的主意)。 我也可以通过ORM设置数据,但这可能是有局限性的,因为那时我还必须创建相关的对象。而且ORM不允许您auto_now_add手动处理字段。 模拟ORM是另一种选择,但是模拟深度嵌套的ORM方法不仅棘手,而且ORM代码中的逻辑也从测试中被模拟出来,而模拟似乎使测试真正依赖于内部和内部依赖。被测功能。 最难破解的螺母似乎是这样的功能,它们位于几层模型和较低级别的功能上,并且非常依赖于时间,即使这些功能可能并不十分复杂。我的总体问题是,无论我如何看待它,我的测试看起来都比它们要测试的功能复杂得多。

2
基于密钥的缓存如何工作?
我最近在37Signals博客上阅读了一篇文章,但我不知道他们如何获取缓存密钥。 具有包含对象时间戳记的缓存键是一件好事(这意味着更新对象时,缓存将失效);但是如何在模板中使用高速缓存键而又不会导致您试图从高速缓存中获取的对象受到数据库命中。 具体来说,这如何影响一对多关系(例如,您在其中呈现帖子的评论)。 Django中的示例: {% for comment in post.comments.all %} {% cache comment.pk comment.modified %} <p>{{ post.body }}</p> {% endcache %} {% endfor %} 例如,在Rails中缓存与仅对memcached的请求不同(我知道它们将您的缓存键转换为其他内容)。他们还缓存缓存密钥吗?

2
通过示例学习Django [关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 刚开始学习Android时,我发现Marakana制作了一系列精彩的YouTube 视频,逐步构建了Twitter克隆。它引导我完成了所有步骤,从而向我解释了基础知识,通用库,最佳实践,资源等。在构建实用应用程序时,隔着专家的肩膀对我来说绝对是最佳的学习方法。最重要的是,它为我提供了可以构建的骨架。从那里我可以继续研究并知道要问的问题。 我现在正在寻找与Django类似的东西。当然,我签出了官方教程和Django Book。前者可以发挥Django的某些功能,但不能浏览完整的应用程序。后者当然更好,但是它构建的应用程序是非常基础的,到了更高级的主题时,该教程就会分解,并返回到简短的代码段和类似文档的说明。 签出Amazon并不令人感到鼓舞。最新的通用Django书籍大约在两年半前发布,仅涵盖v1.0。公平地说,我知道这可能是因为在线文档非常出色,但是我仍在寻找一个演练。当我遇到《实用Django项目》时,我确实感到很兴奋,这听起来就像我在寻找什么。但是,有些评论声称存在一些严重问题-没有源代码,很多错误且没有勘误表,完全冷漠的作者和反应迟钝的发布者等。 因此,我留在第一广场,需要您的建议。是否有地方可以坐在巨人的肩膀上,从头到尾地完成一个现实的Django项目?最好使用框架的最新版本。
10 learning  django 

3
是否存储可编辑的网站内容?
我们有一个基于Django的网站,我们希望对其内部一些内容(文本和诸如定价计划之类的业务逻辑)进行轻松地编辑,因此我们决定将其存储在代码库之外。通常原因是以下之一: 这是非技术人员想要编辑的东西。一个示例是网站的文案写作-程序员使用默认值为“ Lorem ipsum ...”的文本准备一个模板,然后将实际内容插入到数据库中。 我们希望能够快速进行更改,而无需部署新代码(我们目前每周执行两次)。一个示例是当前以不同定价级别向客户提供的功能。无需对它们进行硬编码,而是从数据库中读取它们。 所描述的解决方案是灵活的,但是出于某些原因我不喜欢它。 因为必须从数据库读取内容,所以会产生性能开销。 我们通过使用缓存方案来减轻这种情况,但这也增加了系统的复杂性。 与在生产环境上运行的方式相比,在本地运行代码的开发人员看到的系统处于截然不同的状态。自动化测试还会使系统处于不同的状态。诸如在登台服务器上测试新功能之类的情况也变得更加棘手-如果登台服务器没有数据库的最新副本,则它可能与生产意外地不同。 我们可以通过偶尔将新状态提交到存储库(例如通过添加数据迁移)来缓解这种情况,但这似乎是错误的方法。是吗? 任何想法如何最好地解决这些问题?有没有更好的方法来处理我忽略的内容?

3
通常应该为REST服务开发一个客户端库来帮助防止API损坏吗?
我们有一个项目,将由同一团队开发UI代码,但使用与服务层(REST / Java)不同的语言(Python / Django)。每个层的代码存在于不同的代码存储库中,并且可以遵循不同的发布周期。我正在尝试提出一个过程,该过程将从UI层的角度防止/减少服务层中的更改。 我曾经考虑过在UI层级别编写集成测试,每当我们构建UI或服务层时(我们使用Jenkins作为我们的CI工具来构建两个Git仓库中的代码)时,我们都会运行集成测试。发生故障,则服务层中的某些内容中断,并且提交不被接受。 让服务层的开发人员为UI层中存在的REST服务创建并维护一个客户端库是否也是一个好主意(这是最佳实践吗?),只要REST中有重大更改,它们就会更新。他们的服务API?可以想象,我们将拥有UI代码所针对的静态类型的API的优势。如果客户端库API发生更改,则UI代码将无法编译(因此我们将尽快知道有重大更改)。我还将在构建UI或服务层时运行集成测试,以进一步验证UI和服务之间的集成是否仍然有效。
9 rest  django 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.