3
I like the wikipedia description:
The framework aims to alleviate the
overhead associated with common
activities performed in Web
development. For example, many
frameworks provide libraries for
database access, templating frameworks
and session management…
Basically if you don’t need all of the above, you don’t need a framework.
1
The difference is, in my opinion, the simpleness of what you are trying to build.
Are you trying to make a difficult, complicated web app, or are you making a simple script that performs a trivial task? In the first case you absolutely need a framework, in the second case.. don’t even bother.
- [Django]-Filter models with created date less than today's date
- [Django]-How to make a geography field unique?
- [Django]-Group by in django
- [Django]-Django ModelChoiceField allow objects creation
- [Django]-Django: How to remove bullet point when printing form errors
1
The rule that I have is that if whatever I’m building is only going to be a single page, I’ll usually do it in just PHP. Whenever I need more than one page, I go with a framework (Symfony), because that usually means that I’m going to want things like routing and proper dispatching of requests.
This does however depend a lot on the language. In languages like PHP, the time needed to set up a project to use an MVC framework may be a lot more than just solving the problem. Other languages may very well be designed around using an MVC framework, and has a very low setup cost for that.
- [Django]-Using Django RelatedField for custom join queries?
- [Django]-Setting up Django website on a shared hosting
1
A web framework is supposed to provide means to handle certain kind of interaction. If you have site with no interaction or no “adaptation”, you don’t need either framework or programming language, you simply write HTML files and publish your files.
As you start to add features for the back-end (like publishing more plain pages) or in the front end (like sorting a list when the user clicks “order by”) you start getting into frameworks/programming languages.
Basic interaction was handled with CGI – you write an script which responds with a string to a few parameters passed via a form. Then you have database access.
In my experience, if you need simple features AND want your website to be suitable for growth without resorting to rewriting it from scratch, you should start from a web framework like Django. You can do simple things quite easily in Django (granted – it is not trivial) and add very complex behavior with small, incremental steps.
- [Django]-Django instance.id=None when uploading image
- [Django]-How to restrict access to pages based on user type in Django
- [Django]-Django Elastic Search: AttributeError: type object 'PostDocument' has no attribute 'Django'
- [Django]-Caught TypeError while rendering: 'BoundField' object is not iterable
- [Django]-Django global name 'PageNotAnInteger' is not defined
0
When you have to build a very complex site, and the functionality is already exists in a CMS (eg Drupal, it has amazingly lot contrib for everything).
0
I’m at that stage where, because I spent so much time learning a framework recently, even if I do a one page “website”, I will still use one, need to get my ROI up :p
- [Django]-Checkboxes and Radio buttons in Django ModelForm
- [Django]-Django, queryset to return manytomany of self
- [Django]-Django model.save() not writing to database