Django is not a 'monolithic application which I have to configure', but settings are, well, settings - stuff you have to set. Urls.py is routing, you'd have to config it somehow anyway. There is a lot of room of improvement how the settings could be handled in Django to make them more flexible and get rid of that overhead in settings.py and afaik the core team is planning to work on that, but for the moment you take it as it is. Django has a nice learning curve, you get to know how it basically works while writing your first apps, but maybe it's not for you - if you're looking for something raw and lightweight, you can try Flask. If you want a mature framework which solves most use cases for synchronous web programming and you can build powerful stuff on top of that, it's Django.