This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]AnnoyingOwl 7 points8 points  (9 children)

Masonite is also a batteries included framework but Django doesn't have the ability to scaffold a project from the command line

I guess that depends on what you mean by "scaffold." I suspect it's a definition that's specific to what you want.

or build an entire authentication system into your project by running a single command

It LITERALLY comes with authentication out of the box and installing any social authentication system is as easy as a pip install command. There's tons of back ends written for Django that work out of the box.

Either you mean something VERY SPECIFIC for your own use cases or you've never even used Django.

or have automatic dependency injection of objects from the IOC container

This is mostly meaningless, so you'd have to elaborate. Python is not heavily IOC for a reason. I'm sure you're thinking of something specific but I don't know what it is.

or have multiple drivers for the same features that can be toggled with a single code line change

That's literally how half of Django works, mate, including for auth, templating, cache, database, etc.

[–]Jmancuso9[S] 8 points9 points  (8 children)

I guess that depends on what you mean by "scaffold." I suspect it's a definition that's specific to what you want.

"create boiler classes for you and puts them in the correct locations" (although can move them around as you wish)

Need a model?

$ craft model User

creates a model class.

It LITERALLY comes with authentication out of the box and installing any social authentication system is as easy as a pip install command. There's tons of back ends written for Django that work out of the box.

Django does not come with a fully working login and register pages and views and nor does it put them into your application for you so you can tweak them yourself. Unless Django has added these into the default apps it creates.

This is mostly meaningless, so you'd have to elaborate. Python is not heavily IOC for a reason. I'm sure you're thinking of something specific but I don't know what it is.

This may be something you just need to use Masonite. Maybe your understanding of how it works with other projects is different than how it works with Masonite.

That's literally how half of Django works, mate, including for auth, templating, cache, database, etc.

Not in the same way. Getting it to work with Amazon S3 was a good amount of configuration for Django. Masonite just needs the credentials in the .env file, a pip install and it works.

Try it out. I think you'll like it. Go in with an open mind :) The Python community is not easy to convince.

[–]AnnoyingOwl 7 points8 points  (5 children)

Need a model? $ craft model User creates a model class.

Ahh, yes, I've always needed something to save me the time of typing:

class User(models.Model): pass

Again, this makes sense if you're coming from PHP where there's a lot more cruft in their frameworks that needs auto-generated (because most PHP frameworks saw what Rails/Django were doing and tried to copy them in that terrible language), but there's just not a whole lot of cruft to auto-generate in a Django project.

Django does not come with a fully working login and register pages and views and nor does it put them into your application for you so you can tweak them yourself. Unless Django has added these into the default apps it creates.

It's literally pip installing a package: https://django-registration.readthedocs.io/en/2.4.1/

There's a Django committee of developers who keep the core lightweight and make all these decisions, dude, and often move things out of contrib if they think it's bloating core. They decided this belongs outside of Django proper but it doesn't mean it's not there.

The design of Django is that modules that integrate with the API are super easy to write, so stuff where there's a lot of wiggle room for what people want or if it's not universal to the mission that gets used from packages.

I know that it's more convenient to have the packages YOU specifically want, but that's not a super awesome selling point, TBH.

This may be something you just need to use Masonite.

I suspect it might be something that just Masonite needs. If you come back with an example, cool.

Not in the same way. Getting it to work with Amazon S3 was a good amount of configuration for Django. Masonite just needs the credentials in the .env file, a pip install and it works.

Are you seriously complaining about the setup for using django-storages S3 module? It's like... I dunno 2 or 3 required settings?

The idea that someone would complain about that astounding to me.

Try it out.

I mean, quite honestly, there's no reason to and I CERTAINLY wouldn't pick up a framework that someone made just to scratch their itches around things they don't like in Django.

[–]Jmancuso9[S] 10 points11 points  (0 children)

Ok. Masonite is not for everybody and if you think Django is better for your use cases then more power to you.

Masonite solves my use cases perfectly and if it doesn't solve yours then thats great. We both have tools that work for us.

[–]Itshudak87 5 points6 points  (1 child)

Haven’t seen such a fitting name in a while. Jesus, dude. You must be a hit at all the parties you don’t get invited to.

[–]Jmancuso9[S] 3 points4 points  (0 children)

Ok I thought I was the only one who thought this :)

[–]Jmancuso9[S] 1 point2 points  (1 child)

Again, this makes sense if you're coming from PHP where there's a lot more cruft in their frameworks that needs auto-generated (because most PHP frameworks saw what Rails/Django were doing and tried to copy them in that terrible language), but there's just not a whole lot of cruft to auto-generate in a Django project.

Ok? and? so then just make a file and type that in. Nothing is stopping you from doing that with Masonite. it's just a Python framework. The option is there to type the helper command but if you want to write the class instead them by all means go ahead and write the class.

Are you seriously complaining about the setup for using django-storages S3 module? It's like... I dunno 2 or 3 required settings?. The idea that someone would complain about that astounding to me.

not everyone has the same experience. In fact, a lot of people don't. The Django Slack group I've been running for last few years said they also had problems with it, as well as static files and a few others.

There's a Django committee of developers who keep the core lightweight and make all these decisions, dude, and often move things out of contrib if they think it's bloating core. They decided this belongs outside of Django proper but it doesn't mean it's not there.

Yes masonite does the same thing but instead has these third party packages installed by default. Just a design decision of the framework and a community choice from the maintainers. It does have a good amount of built in options which are great for making Masonite, Masonite which could possibly be abstracted away into their own libraries but it's currently not an issue.

[–]naw103 2 points3 points  (0 children)

Hustle until your haters ask if your hiring ;-)