4 ms·
Before django implements new features it should rework some of the crappy old stuff: Auth is terrible, models and forms need to be more flexible. Also a lot of
by Destruct1 16y ago
Before django implements new features it should rework some of the crappy old stuff:
Auth is terrible, models and forms need to be more flexible. Also a lot of little things like forms myform.as_div are missing.
- jacobian 16y ago"Django" doesn't implement new features: people do. In this case, Ben Firshman led a group of about a dozen or more to get generic views refactored, and Carl Meyer took point on the long-requested on_delete work. They had itches to scratch, and they scratched them. I agree that auth's gotten long in the tooth, but not enough to be motivated to work on it. The fact that it's stayed unresolved for so long indicates perhaps that most contributors feel similarly. That means that it's going to stay as it is until someone steps up, like Ben or Carl did, and takes the lead in getting something done. Alternatively, I'm available for consulting work and would happily take money to work on any problem you like. My rates are fairly reasonable.
- zeemonkee 16y agoThe problem with auth is that it was designed before model inheritance was available, hence the crappy get_profile() hack. A better solution (with hindsight) would be a base abstract UserBase model with a bunch of useful features (e.g. password encryption) extended by a default User model, plus a UserForeignKey field similar to the one in GAE. Therefore instead of this: class BlogPost(models.Model): author = models.ForeignKey(User) you would have this: class BlogPost(models.Model): author = UserForeignKey() The exact user class would be set in your settings, e.g. AUTH_USER_MODEL = "myapp.MyUser". That would provide more interop between Django apps requiring some form of user authentication. Not sure what other implications that would have though.