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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Drupal or Django for my startup? and why

14 点作者 pepeto大约 8 年前
Hey there,<p>I wanted to know which choice is wiser - try to save up money with a CMS like Drupal or go with a flexible framework like Django or asp.NET<p>The project is a startup for cars that includes: - marketplace cars and all kinds of other vehicles - marketplace for autoparts - marketplace for tires - marketplace for all kinds of services around car - washing, repairing, etc - booking - vin checking versus 3rd party databases - chat&#x2F;messaging systems - ratings - statistics - owner tools - my garage - where you put data about your own car - promo codes&#x2F;vouchers etc. - ...<p>...in other words, it is huge. It is not the classical startup of 2 people in a garage, but instead a business with funding that aims to topple the leader of car selling in Bulgaria (small country).<p>It would be tremendously helpful to state what your experience is (how good you are at either), have you had specific experiences you didn&#x27;t like with either and what other specific things might be a problem for one or the other.<p>Any thoughts or guidelines will be super helpful, so thanks in advance.<p>pp

16 条评论

aliskov大约 8 年前
It sounds like you&#x27;re not the technical founder because those two frameworks are completely different in nature and if you were you&#x27;d have a clear answer. I don&#x27;t have professional experience with either. I do have experience with failed startup ideas because I started with a focus on technology and not problem. Btw, I am also Bulgarian so that&#x27;s probably what we have in common. There are tens of technology stacks that can create a technical solution. However, there are very few founders that can create a strategy and build a business to topple an existing player. Just remember that. The technology should be the easy part to figure out.<p>Just my 2c.
cdnsteve大约 8 年前
Wrote a 100k line of code financial app in Drupal 7. It&#x27;s not compatible with D8, and expect the same with D9. Testing is less than an afterthought in the community, docs in D8 are usually empty pages when you dig in, the technology is loosing mindshare and not many are hiring. These are all red flags for a startup. It can be used to build apps but I would stay away.<p>Go with Django. Python is a more productive and clear language. Django is excellent at ensuring an upgrade path, provides great docs.<p>If you have well defined services, it sounds like you do, then make them apis. You could have separate Djano apps or use Flask, a great micro framework.<p>Overall my experience with Python and the community for building web apps has been great.
评论 #14067092 未加载
ben_jones大约 8 年前
The older I get the more I realize that language&#x2F;framework decisions at many companies is a function of 1) what your existing team knows already and 2) the business requirements of your company. Furthermore I believe the goal of a founder is to solve problems with people (like fundraising, hiring, etc.) and not computers (by coding).
评论 #14064508 未加载
roddds大约 8 年前
Background: I work at a Fintech startup where the backend is built with Django. I have about 4 years of experience with it, and have worked on Django projects from several different industries, from education to ecommerce. I absolutely recommend that you go with Django. Your project sounds like will deal with many different types of problems, and using Django and Python will allow you to take advantage of the huge ecosystem of third-party libraries that will save you a ton of time. CMS systems like Drupal are great if your main activity is publishing content, but anything past that will leave you fighting with its internals while you should be writing business logic.
评论 #14064503 未加载
guitarbill大约 8 年前
I currently work for a large eCommerce site that uses Django&#x2F;Python. Before that I worked with a large PHP CMS, though not Drupal. Some non-obvious, and practical things that Django does well:<p>* Dependency management is way easier with Python, so upgrading and deploying is less error prone<p>* Django scales really well thanks to excellent caching with e.g. Redis. Adding caching to views (pages) is child&#x27;s play, and super easy to debug&#x2F;purge.<p>* Speaking about scaling, writing a REST API or consuming a REST API is much easier in Django (django-rest-framework and requests, respectively)<p>* The Django ecosystem is great. If you have a problem you want to solve, someone has probably done it already and published a package<p>* The Drupal middleware is awful compared to Django middleware<p>* Testing<p>* The Django admin interface is amazing [0], and at least as good as any off-the-shelf CMS. It does permissions and custom actions. Your sales team needs to upload a CSV file of suppliers? No problem, just add it right in there.<p>* Debugging. The Django shell and pdb&#x2F;ipdb are great tools.<p>Finally, thanks to some non-obvious pitfalls in PHP, you have to take more care when writing PHP to make it secure. Apart from the flame-wars, the only practical issue is when hiring. You need to make sure you hire PHP candidates who know the language inside out. With Django&#x2F;Python, you can be a bit more lax - there&#x27;s far fewer non-obvious pitfalls, especially with the templating system and ORM of Django. It also takes devs less time to do a thorough code review. IMO, it&#x27;s easier to grow a Django team.<p>[0] <a href="https:&#x2F;&#x2F;docs.djangoproject.com&#x2F;en&#x2F;dev&#x2F;ref&#x2F;contrib&#x2F;admin&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.djangoproject.com&#x2F;en&#x2F;dev&#x2F;ref&#x2F;contrib&#x2F;admin&#x2F;</a>
kopos大约 8 年前
So I&#x27;ve experience of working with both and technically you are comparing apples to oranges. Drupal is a CMS built in PHP while Django is a Python framework to make web-apps (one of them being a CMS).<p>* A framework works at a lower level compared to a CMS. So if you have lot of customizations to be done which is not limited to how it looks - a framework is better * If most of the work needed is to change how a site looks and content only, a CMS might be a good fit * From your point it looks like there is a need for a strong platform * Which language are you programmers comfortable with (if you already have a tech team)?<p>For the company I was working in earlier, Drupal 7 was being used.<p>For my own startup I am using Django.
ehllo大约 8 年前
You should compare something like laravel(<a href="https:&#x2F;&#x2F;laravel.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;laravel.com&#x2F;</a>) or symfony(<a href="https:&#x2F;&#x2F;symfony.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;symfony.com&#x2F;</a>) against the djangoproject(<a href="https:&#x2F;&#x2F;www.djangoproject.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.djangoproject.com&#x2F;</a>). I think this is a more appropriate choice. If you are not sure about the dev-performance of your team with a naked framework, you should consider something like the Oro-Platform(<a href="https:&#x2F;&#x2F;github.com&#x2F;orocrm&#x2F;platform" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;orocrm&#x2F;platform</a>) or Odoo(<a href="https:&#x2F;&#x2F;github.com&#x2F;odoo&#x2F;odoo" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;odoo&#x2F;odoo</a>). You can also work with a e-commerce&#x2F;shop system like oscar(<a href="https:&#x2F;&#x2F;github.com&#x2F;django-oscar&#x2F;django-oscar" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;django-oscar&#x2F;django-oscar</a>) or shuup(<a href="https:&#x2F;&#x2F;github.com&#x2F;shuup&#x2F;shuup" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;shuup&#x2F;shuup</a>) as a base.
stevepurkiss大约 8 年前
I&#x27;ve been Drupaling for 13 years, before that I was J2EEing, before that I was AS&#x2F;400 RPGing. Before that I was PASCALing at college, BASICing and Assemblering at home. I&#x27;ve seen all kinds of businesses and startups, and I&#x27;ve seen what works and what doesn&#x27;t.<p>My advice to you is to use Drupal because you can get far fast. Use lean methodology (lean canvas etc.) and get your MVP out as fast as possible and start making money. Don&#x27;t try and build lots of functionality that you don&#x27;t know works, and by works I mean makes a profit.<p>Watch GaryV, as he says - the market is always right. Focus on selling cars or vin checking or whatever it is you&#x27;re doing, nobody apart from techies give a hoot what your site is built on. Some of the biggest sites in the world are built on PHP, e.g. Facebook. Some of the biggest sites are built on Drupal, e.g. Weather.com (the most personalised site as every visitor sees a different output, and delivers data to mobile apps).<p>Your code won&#x27;t help your business succeed, selling will.
评论 #14065965 未加载
drewjaja大约 8 年前
We migrated from Drupal to Django a few years ago and haven&#x27;t been happier. Sites have become easier to maintain, new features are developed faster and designers find Django templates easier to work with.<p>We found Drupal&#x27;s hooking system a pain to work with and it made debugging incredibly difficult.<p>We were using Drupal 6 at the time, not sure what has improved since then.
评论 #14065736 未加载
felipellrocha大约 8 年前
Django. Stay away from php
评论 #14064458 未加载
scot_hacker大约 8 年前
I wrote this back in 2009 so it&#x27;s a bit long in the tooth at this point, but still mostly accurate (and I&#x27;m still going strong with Django in 2017):<p>Drupal or Django? A Guide for Decision Makers <a href="http:&#x2F;&#x2F;blog.birdhouse.org&#x2F;2009&#x2F;11&#x2F;11&#x2F;drupal-or-django&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.birdhouse.org&#x2F;2009&#x2F;11&#x2F;11&#x2F;drupal-or-django&#x2F;</a>
t312227大约 8 年前
moine,<p>imho ... i worked with both of them :)<p>simplified<p>* drupal is a really nice, secure and extensible portal-system which can be enhanced with plugins written in php<p>* python-django is a web-framework based on common design-patterns<p>whats better for you!? it depends what you want to achive, but i think for a startup - and a maximum of flexibility + scalability - i would prefere python-django.<p>why? as a &quot;general&quot; webframework its more flexible than the portal&#x2F;plugin approach of drupal + i would prefer python over php.
romanhn大约 8 年前
Even though my experience is from a few years back, I absolutely cannot recommend Drupal for complex, custom applications. See my write-up here: <a href="https:&#x2F;&#x2F;github.com&#x2F;rshekhtm&#x2F;VentureTap&#x2F;blob&#x2F;master&#x2F;README.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rshekhtm&#x2F;VentureTap&#x2F;blob&#x2F;master&#x2F;README.md</a>, especially the Lessons Learned section.
评论 #14065753 未加载
zhte415大约 8 年前
I started with Drupal when it was 4.7, shortly to move to 5.x. We had a group blog, and it did the job pretty well, and it felt good to take advantage of things like maps modules and tagging. But niggling pains were there. Having to add extra modules to deal with duplicate pages ending in &#x2F;, and while views was pretty simple point-and-click at the start, it seemed like it could do a lot more.<p>As time progressed, we added voting, rss aggregation, quizzes, and started extending views with URL arguments, relationships, fancy combinations of filters, login was via OAuth, and we were at 7.x by now. It was feeling unwieldy. Always aggressive in theming, what we wanted to do was taking an increasing amount of time, both in function and appearance.<p>A new project came along, and I thought, eh, Drupal can do that. And it surely could, seeing a nail, Drupal is a hammer that can do anything.<p>But it does it in a way where maintenance, or getting things exactly the way you want become incredibly time-consuming, and the code is a maze unless you&#x27;re in it 24&#x2F;7, and we had chosen Drupal not to be in code 24&#x2F;7.<p>My background is not as a developer, but finance where using technology is an important skill. I can Bash, Ruby, JS, VBA&#x2F;.Net, Python, R, and a few others to varying levels.<p>I shuddered a little when seriously considering Drupal as a solution to this new problem, mapping out the edge cases and exactly how many modules were needed (60+).<p>I ended up taking a week off learning NodeJS and using hapi as a framework. Just because I wanted a fresh start, not that I was enthralled with Node, but as so many others were using it, surely something was there.<p>This freshness gave some time to think about what I actually wanted, and to back-track from there, focusing on simplicity and well, simplicity. How to make everything as simple as possible, which is what a high level code framework offers.<p>You don&#x27;t sound that technical, and I don&#x27;t have experience with Django, however I recommend taking a code-approach, even if you don&#x27;t want or need to be sitting in code, as you&#x27;ll have access to and know how everything really works, not a pre-written GUI one where you&#x27;re clutching at straws. Most web challenges are about the idea, the code implementation for what you sound like your doing, at an initial stage, is probably that not complex, and if you have success with the core idea, get technical talent onboard to optimise or do the things you find too hard.<p>A word of warning, however: Focus on making things simple. That will stop you going into a rabbit warren filled with code spaghetti.<p>tl;dr<p>Drupal is an excellent tool for publishing, and accommodates some complex publishing workflows that need multiple authors or layers of editing or approval. Core modules like comments or maps compliment this, but that&#x27;s it. If your core need is greater than publishing (I suppose marketplace is publishing, and there are eCommerce modules), Drupal is a quick solution, but if your long-term roadmap means doing something remotely unique technically or in UX, roll your own using a framework to prevent re-inventing the wheel (and ending up with security nightmares). Bring on technical talent at an early stage when your idea seems proved. If you have funding, do this right away.
sebbean大约 8 年前
Rails!
devoply大约 8 年前
Drupal 6 and 7 use Drupal crap function-based programming (not functional programming) style which over time leads to maintenance mess as you have tangled interdependencies of modules which are not 100% in terms of test coverage or quality. Drupal 8 bootstraps on top of that mess OOP. Drupal is engineered as garbage and gets unwieldy pretty quickly if you are going to be doing custom programming and straying away from the main modules. However for your case it&#x27;s foreseeable you could stick to views and content types, and templates to customize those and not have to stray too much into actually writing custom code, however the UX of that sort of thing in Drupal is still shit and trying to customize that makes you do it the Drupal way which is often ugly and complicated. PHP 7 is a modern language I recommend a modern PHP framework or a modern Python framework like Django. In the end use what your technical founder knows best. Drupal makes it seem as if it&#x27;s going to cut down on work, in the end it leads to more work to maintain, scale, and keep adding features and creating a better UX experience which users have come to expect. These days I would probably use some language for the backend and make the frontend with a responsive javascript framework like Angular, React, etc.