TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why I switched to Pylons after using Django for six months

105 点作者 dryicerx大约 15 年前

9 条评论

idan大约 15 年前
It seems like a lot of people get frustrated with Django because it isn't the Framework for Copy &#38; Paste Coders Who Like to be Spoonfed.<p>To some degree, this is a failure of the Django community's messaging. Django is highly modular and, if anything, disassembles gracefully as you start running into more complex scenarios (even more so in 1.2 than 1.1).<p>It's best to think of Django as a robust set of wheels you don't have to reinvent for each new site you build, and a toolkit for building new wheels you can not-reinvent next time around.<p>All of the above is painfully obvious to anybody who has spent a decent amount of time with Django, but might not be so clear to somebody just finding their way or using Django in a limited fashion. I'm sad to see that somebody had a poor experience with Django, but this post is basically a lot of whining about an inability to figure things out and use the framework as intended.
评论 #1176982 未加载
评论 #1176955 未加载
评论 #1179582 未加载
matrix大约 15 年前
I've built a couple of reasonably complex Djamgo apps, and as much as I like Django, all the points author makes are very true. That said, by the time you have swapped out the template language and the ORM you are basically no longer using Django; I think it's fair to say that if find yourself needing to do those things, you're much better off with Pylons.It's a question of the right tool for the job.<p>I do agree heartily that Django apps are not an effective level of abstraction as on might hope. Personally I usually just stick to using various libraries and writing my own code to do the Django-specific parts.
评论 #1176881 未加载
评论 #1177632 未加载
zain大约 15 年前
Wow. In summary, he switched from Django to Pylons because:<p><pre><code> - He couldn't figure out how to modify his Pinax project - He couldn't get django-openid to work - There's no debugger on Django exception pages - Something about magic imports? </code></pre> You don't have to fork Pinax to add/remove apps to it. You don't have to fork django-openid to use it in your project, just override the templates. Recaptcha fits into the app model very easily: it's just another auth backend. You can get a debugger on your exception pages by installing django-extensions.
评论 #1176951 未加载
theli0nheart大约 15 年前
The debugger he's so fond of is actually the Paste debugger (paste.exceptions.errormiddleware.ErrorMiddleware). See <a href="http://gist.github.com/326254" rel="nofollow">http://gist.github.com/326254</a> on how to use it with Django WSGI deployments.<p>Secondly, Django is nearly unparalleled when it comes to CMS-based work. It probably is the wrong choice if you're looking to build the next Google, but for anything involving a system where the administrators are computer illiterate, it's always a winner.<p>As for the entire reusable apps thing, I have to agree. It's good for namespacing, but other than that, it doesn't have many benefits.
评论 #1177928 未加载
vanschelven大约 15 年前
Just spent a week refactoring our Django projects into apps. Nice timing.<p>The more I think about it, the less sure I am that the django-app is a good model for any organisation of code (not just third party reuse).<p>In my mind web apps consist of [parts of] pages / templates, menus, forms, and url structure and underlying models. Django forces me to separate these concerns. A Good Thing. Then it turns around and forces me to define a group (app) and lump a bunch of them together again.
评论 #1176974 未加载
jokull大约 15 年前
Good call on the apps. I think we can agree the idea of reusable apps hasn't really worked out. Still, I don't see how this tips anything in favor of Pylons. As for the debugger, I've been using pdb extensively. Errors thrown by templates are very annoying however, showing a huge stack trace through the template rendering scope and nothing to do with whatever caused the error. To solve this I've had this at the bottom of my urls.py (<a href="http://dpaste.de/9Emp/" rel="nofollow">http://dpaste.de/9Emp/</a>). It prints out exceptions straight to runserver. Also useful if you're letting project managers test your site and they come across a bug - you can just inspect it right away.
jcapote大约 15 年前
Sounds to me that they are just lacking some kind of mountable application system al a rack?
评论 #1178530 未加载
评论 #1178221 未加载
wakeupthedawn大约 15 年前
I agree with his complaints about reusable apps to an extent, but I feel a lot of the fault has to do with the design of the apps he referred to. I feel that the good apps are the ones that focus on a very narrow scope and try a singular problem (Paypal integration, Twitter integration, etc). Pinax tries to shove every social media idea at you. Other ones like Satchmo (shopping cart) even have their own templates and styles, sorta like a CRM where you're kinda meant to use the Admin to manage your shop. I think you can get decent flexibility with Django as long as you choose simple apps.<p>I've always liked the Django debugging information and haven't had too many problems. I agree that it's very possible for many to feel limited by the ORM and standard templating system.
评论 #1176964 未加载
swah大约 15 年前
When I was deciding for Django, this...