Is this site written in Django?

I think it’s a really cool site, the way it’s laid out. It would be super disappointing to find out it wasn’t written with Django (the ultimate irony).

If it is written in Django - is the source-code available anywhere so we can have a look at how it’s been put together?

It is not. It’s a product named Discourse.

@KenWhitesell see that Discourse is built with Ruby on Rails… oh dear. I had such high hopes for Django. :slight_smile:

At this point, I’m too invested into Django for me to be too upset. But still…where’s the ambition?

It’s hardly a good advertisement for Django if the official Django forum is built in Ruby.

I guess I don’t see the problem.

Why reinvent the wheel? It’s not like there are thousands of Django contributors sitting around with nothing better to do than to build yet another forum site, along with the time and effort necessary to maintain it.

I’d rather see the contributors moving Django forward - adding features, fixing bugs, helping others.

Also, as much as I enjoy using Django, and knowing how productive it makes me for the work that I do, I also acknowledge that Django isn’t the be-all, end-all, absolute ultimate perfect web framework. (It’s the best for me, for 90+% of the work I’m doing now, but that doesn’t mean there aren’t other projects that are as good as, or better than, Django in their primary areas.

I’ve said here before, when I want to build a web site, I’ll use Wordpress or Drupal. (If I wanted to bother learning RoR, that would probably make the list, too. But my knowledge of it extends no farther than knowing how to spell it.) When I want to build a web application, I use Django.

(And, I think it says yet something more positive about the Django community that I don’t see a “Django or nothing” fan-boy attitude that I’ve seen so many places elsewhere.)

Ken

3 Likes

Whats the difference between a web application and a website? Isn’t that just semantics? What to your mind makes them different? Also, what things would you consider building in Django, and which things not (considering there is a difference - which I fail to see)

It is, absolutely. But those semantics identify and define a mindset when making a decision regarding how to implement a solution to a set of requirements.
(Side note - one of the many jobs in my background is as an “Enterprise Solutions Architect”. A fancy title for selecting products and defining processes to implement solutions to satisfy business requirements. A large component of that job is precisely defining semantics when discussing requirements and solutions to try and ensure that everyone is using the same terminology the same way. Call it "corporate bike-shedding if you will - and a lot of it feels like that - but when you’re guiding the efforts of 1000+ programmers, it really is a necessary job.)

The simplest explanation for the distinction I draw between the two is whether or not I’m going to need to write custom code to perform some core business function that the application needs to perform, or whether or not there’s a canned off-the-shelf solution that will be adequate for those needs.

If I’m just putting up a documentation website, such as a blog, wiki, brochure-ware or other type of mostly-content submission/retrieval, the work I need to do for that is vastly different in kind and scope than if I’m writing an application to collect data from embedded traffic system controllers and analyze and display that data.

If someone wants a blog, it’s not time/cost effective for me to build a custom blog for them. I can stand up a perfectly functional blog in Wordpress in less than a day - with a lot more features built-in than what I want to bother writing myself.

However, that’s not the bulk of what I do.

When I need to gather data using SNMP or ssh-based scripts (using Paramiko), or when I need to create highly custom displays of output from various embedded devices, or when I need to build configuration aids to do bulk updates of hundreds of devices, I can’t afford the time to fight a framework that doesn’t work the way my mind does - and so Django becomes my tool of choice.

1 Like

I appreciate your reply. However, what’s the difference between a web application and a website?

A sentence will suffice, surely? How hard can it be?

It’s in there, it’s the second paragraph,

I’m sorry Ken, and I appreciate your reply, but unfortunately it doesn’t make a lot of sense to me. You say previously, "when I want to build a web site , I’ll use Wordpress or Drupal. When I want to build a web application , I use Django.

I’m still confused about the difference. For example, isn’t Wordpress a web-application? Isn’t Drupal?

Give it another nudge? Personally, I think you’re obfuscating the issue, raised in my og comment, that Django’s own forum is built on Ruby.

I ask you : if this forum was built with Django, would you consider it a web-application or a website :slight_smile:

What I would consider it s irrelevant if someone else built it. That is missing the point.

If I need to write code to make a site do what I want to do, that changes that project, for me, from putting up a site to building an application.

There’s a lot of things I can do in Drupal or Wordpress that never requires me to write any code, yet produces a perfectly acceptable website.

The practical difference between the two comes down to how I estimate the scale and schedule of the project.

Alright, thanks. I still don’t understand what you write (i.e. difference web-apps vs websites) - but I appreciate you taking the time to try and explain it to me as you see it.

Can we agree that not using Django to build the official Django forum isn’t a good look? For example, I don’t think the official Ruby on Rails forum is built on Django. From a marketing point of view, surely that would be a disaster? If we widened it out, and said, for example, BMW cars were the best, but you later found out it had a Ford engine in it, wouldn’t you be questioning the premise?

Can you see why that is not a good advertisement for Django?

Django isn’t BMW. We get $200k USD in donations a year ( https://www.djangoproject.com/fundraising/ ), which is less than half the salary of a single top level engineer at a FAANG company, and maybe a third of their fully loaded cost. Probably software engineers at BMW or Ford are paid the same.

Most of the work on Django is done by volunteers like myself and Ken, in our spare time. Any time spent building a forum product would necessarily mean not making some other part of Django.

1 Like

May I kindly point out two things:

  1. Let’s remember Django’s Code of Conduct which — while not explicitly it does so implicitly — states, that putting one language or software down for the reason of them not being to one’s liking, is not okay.
  2. One should use the best tool for the job. There are pretty much no other bulletin board hosted services out there. From Django’s infrastructure and operations team perspective, hosting another services ourselves is too much work. And then, what @adamchainz and @KenWhitesell already stated: the time spend to build a discussion board with the feature set we have with Discourse is very, very, very time consuming. And you can trust me, I’ve literally been there with ubunutuusers.de which is in fact written in Django. But is so tied to that specific community, that taking it apart and making it more general is a gigantic work effort. Which is also only done by a few people in their free time.

That said, with a few million US$ or € one should be able to start a company who’s product is a bulletin board with the feature set of Discourse, but written using Django.

1 Like

Can you see why that is not a good advertisement for Django?

“Marketing”-wise, sure, it would probably impress some people to see the forum built using Django, and it could maybe give Django a boost. It won’t happen though because of the costs involved, like MarkusH said. If you feel up to it you can invest your time into the open source project that Django is, and try to gather a team for making a replacement for Discourse, or go fundraising and pay others to do so. I’m sorry to say that I won’t join you though :wink: Everyone’s time is limited.

And as far as alternatives to using Django go, Ruby on Rails seems pretty great to me, from what little I’ve heard. You might like the Django chat episode where they speak with its creator. (speaking of Django Chat, there’s another episode where MarkusH also talks a bit about the forum he mentioned here, if that sounded interesting to you)

1 Like

Taking just one more stab at this with a couple of poor-but-hopefully-adequate analogies.
Django is a web application, djangoproject.com is a web site. Ruby on rails is a web application, Discourse is a web application, discourse.org is a web site.

If you want me to build a site like djangoproject.com (which, BTW, is built in Django), it’s a whole lot different than if you ask me to build something like Django.

No, I don’t agree. Leaving aside the budgetary and labor issues answered above, there are a couple of additional angles that this can be looked at.

If I need to choose a web framework to use, finding good documentation and an active community is more important to me than finding out that someone has managed to build a web site using it. I would like to think that the quality of the content of this site is a far better advertisement for Django than the forum itself.

I’m one of those people who chooses to throw some spare time at Django to try and help other people. (Unfortunately, I don’t find myself able to actually contribute to Django itself, but that’s a different issue.) I personally don’t care what is being used for the forum software. It’s just a tool that I’m using to make my contributions to the community, and I’m most grateful to Andrew who took his time and effort to choose to implement it. Had he selected something that didn’t work as well, there’s a pretty good chance that I wouldn’t be hanging around as an active participant.

To continue using your BMW analogy (possibly beyond the point of usefulness), do you think BWM makes 100% of the components in their cars? Do they fabricate their own steel? To they make their own chips for the on-board computers? Do they make their own electrical cables? (I think you get the idea.) I think if you look at modern automotive manufacturing, you’ll find that the “auto makers” make a lot less of the car than you might think. They function more primarily as the assembly line for putting the pieces together. The engineering comes from selecting the “best” component for each part of the car, where “best” means the component most suited for the job that fits within the budget constraints.

Finally, there is the aspect that I alluded to in an earlier response. I actually think it’s a Good Thing that the Django community is mature enough to acknowledge and accept that there are other quality products in this space, and is willing to use the right product to provide a needed service. (I have never bought into the mindset that for any given problem, there is one and only one best solution, or that “my” product of choice must be used for everything.)

1 Like

I would differentiate between a website and a web application in the sense that a website is a site that is mostly about presenting information to the user. A web application is a site that you interact with. So the homepage of the local ma and pa restaurant would be a website. Twitter would be a web application. Wikipedia would be a website to visitors and a web application to contributors.

I would disagree with this wholeheartedly. I have worked in large companies where marketing is like a golden cow that everyone dances around. This often leads to a mindset where appaerance becomes more important than everything else. I’m very glad that the Django community does not have this kind of mindset.

2 Likes

I must be missing a trick here, but where does it mention implicitly in the code of conduct that

putting one language or software down for the reason of them not being to one’s liking, is not okay

Seems like a stretch to me. Sorry If I’ve given the impression I’m putting Django down. I really like it actually, and much prefer it to Rails. (Am I allowed to say that here?) Also, surely, having a dig at Django (which let’s be honest is an inanimate object) is alright? If not I guess I’m in the wrong church.

@KenWhitesell I feel like the BMW analogy wasn’t quite to your liking.

To continue using your BMW analogy (possibly beyond the point of usefulness), do you think BWM makes 100% of the components in their cars? Do they fabricate their own steel?

I think you missed the point, however, and maybe I didn’t make it very well.

If I was going to buy a car, in a BMW dealership, and found out their cars were installed with Ford engines, it might make me think - maybe I should check out the local Ford dealership as well.

If I was perusing the Django forum “using Django” and found out the “Using Django” forum was built with Ruby on Rails technology - I might be inclined to head on over to their dealership. Since it is open source software - I would owe myself that, at least.

There are a lot of avenues you might go down with that information. For example, “if the Django is using Ruby, why bother learning Django - I may as well learn Ruby since it seems that’s what works best”

btw - of course car manufactures put in all kind of widgets into their cars - but as far as I can tell they don’t put in other key components into their cars which other competitors have manufactured, i.e the other competitors engines!

Show me one. And I’ll take this as a decent analogy. Ford do not put BMW engines in their cars. BMW do not put Tesla engines in their cars, etc.

Therefore, your reposte to my original analogy fails badly.

I restate my case again - Django forums should use Django Technology. End of Story. If the Django community is not presently capable of doing so, it speaks to something. But it does not speak of Django’s success.

I have noticed how various posters have managed to tie themselves into various positions of cognitive dissonance to reconcile this fact.

You can argue all you want about how great Django is - and I do not nor cannot presently debate that. But the fact remains - the official Django Forum website is using competitors tech.

Why is that? Do Microsoft use Apple’s OS? I think not.

I appreciate very much, by the way, all the contributors to this web-site. There has been noted in comments to my OG reply various people involved in the Django community who do tremendous work for the greater good – and I appreciate them more than i can say.

That does not negate my points.

To rephrase Iverson : It’s just practice!

It’s just a forum! How hard can it be if Django is the be-all-end-all? It’s not exactly sending a man to the moon.

Yes - I’ve doubled down on my OG assertion. I’m happy at this point to say “we do not agree and put it to bed”.

I’m not a last-word-freak - but the arguments presented so far do not lead me with confidence towards Django’s abilities.

Another point I wish to make : the arguments presented so far are 100% by the establishment. I feel like i’m committing heresy just bringing them up. I have questioned the Django faith - and the elders have responded as expected.

My 2 cents. (oh, I just did)

I also think you’re missing my point, perhaps because I didn’t make it well either.

We are not a commercial enterprise, we are not selling anything. If you want to go look at RoR, have at it! If it’s going to work better for you, great! We don’t lose anything by someone looking elsewhere for solutions, and perhaps, those people come back bringing in good ideas from other communities.

This is approaching the point that I apparently failed to make clear. The very idea that any one product “works best” across all domains is the worst kind of fanboy-ism.

Want to create a forum software product? It’s quite appropriate for you to evaluate all frameworks. I’d be the first to encourage you to do that. In fact, there are a couple of domains where I explicitly say that Django may not be the best choice.

But for the work that I do, I have made the decision that Django allows me to be the most productive in doing that work. (And no, it’s got nothing to do with writing a Forum package.)

Why?

Instead of continuing to make this blank assertion, it might be helpful for my understanding of the point you’re trying to make if you would address the specific issues previously presented.

You’re also making the assumption that “the Django community is not presently capable of doing so”, when no such comment has been made.

It’s not an issue of whether or not the community can do this work, it’s a question of should the community do this work - and what I, and others have tried to get across is that the decision has been made that we shouldn’t do this work - it’s not cost-effective to do so, when “cost” is being measured by hours spent by people who have better things to do with their time than reinventing the wheel.

Saying just implies a bit of dismissiveness that ignores the complexities involved in writing a full-featured and polished software product.

I have no idea how many man-hours of effort have gone into writing Discourse, do you?

Who is making that claim? I know I never have. I don’t think I’ve ever seen anyone making that claim. I certainly can’t find anything close to that on the DjangoProject web site.

I suggest you review the Code of Conduct

Excerpt from the 4th bullet:

Be respectful. Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners.

Making ad-hominem statements about the volunteers here is not welcome. There are ways of making your point without making it personal.

But beyond that - what I read into this is that you’ve got some idea of what the Django community is, or what its resources are - and I can’t help but get the impression from what you’ve written that your perception is far from reality.

@KenWhitesell Sorry but I didn’t realise I wasn’t being respectful. I also didn’t realise I was making ad hominem comments about volunteers who work here, cite one. I also didn’t realise I was making it personal - I certainly don’t remember doing so - cite one.

Truth of the matter is you can’t.

But you are pretty quick to go to the rule-book for these perceived flagrances of the code of conduct when it suits your argument. Interesting.

Like I mentioned - it seems to me bringing this up has created a lot of cognitive dissonance, and this forum is certainly starting to feel to me like I went into the church of the holy and pissed in the communion wine…

I don’t think this is a forum for dissenting voices right now - little bit fragile. I guess the hammer will fall soon on me. And you can all go back to your echo chamber of congratulation.

The ultimate irony is when you say

your perception is far from reality

having previously pulled me up for ad hominem.

Oh Ken, I think we better call it a day here. After all - it’s just “Django”

c’est la vie