Yup, I agree with you Kevin. The django framework is very powerful. I started out with no webapp experience, and have also been able to build a very nice web app using django. It took me considerably longer than a week to come up to speed, but I had zero background in html, css, sql, or web apps in general, so just understanding the basics of the webapp handshakes and how to work in an environment where I have no data structure state took me awhile to grock. My app developed under django has such a nice symmetric, organized, feel. I don't have any hands on experience with what webapp development is like with out a framework like django, but I suspect it is a lot messier. So I also feel like the dive in time ito learn some of the underlying detais of django source is well worth it.
Margie On May 1, 11:47 am, Kevin Audleman <kevin.audle...@gmail.com> wrote: > Malcom, > > Cheers to that. > > It's always hard to figure out what attitude you are conveying when > you post to a message board so I don't know how I sound in this > thread. Forgive me if I sound whiny or complainy, that is certainly > not my intent. Quite the contrary, my overall attitude toward Django > is that of pure awe. I've never worked with a framework that is so > logical, consistent, and powerful. I picked up the basics in a week > and suddenly feel empowered to create full-fledged web apps that can > do complex queries, handle form submission with full input validation > and cleaning, have a working security/permissions framework, etc. > Three cheers, mate! > > I meant what I said about working with reverse url: complicated but > worth the effort. What's going on behind the scenes is no doubt > extremely complex, but the fact that I never have to hard-code a url > is huge. I take it as a challenge to put all the pieces together > myself. > > Kevin > > On May 1, 11:28 am, Malcolm Tredinnick <malc...@pointy-stick.com> > wrote: > > > > > On Fri, 2009-05-01 at 11:13 -0700, Kevin Audleman wrote: > > > > > I can't explain any of this, but I've been thinking about your > > > > question since you posted it beause I know this type of error happens > > > > to me a lot (and indeed has been hard to debug), but I couldn't put my > > > > finger on remembering what my solution was. It just happened, I fixed > > > > my syntax error, but still got reverseMatch error message. Restarted > > > > the server, and it was gone. > > > > Truly, Margie, this is the most inexplicable part of Django for me > > > too. I'll code up a template with a bunch of {% url app.view %} > > > statements which will work just fine. Then at some point I make some > > > change and *bam* I've got a reverse url lookup error. The solution is > > > not always obvious either. As I wrote earlier in this thread, at one > > > point I suddenly had to append the app name to the names of my url's > > > in urls.py. They had been working just fine, then something I changed > > > made them not work. > > > At which point, working out "what changed" would be useful so that (a) > > you can avoid it next time and (b) if it's some kind of problem in > > Django, we can fix it. There is almost no magic going on in these sorts > > of situations. > > > Certainly the error reporting from some of the URL resolving is a little > > weak and that's something we're going to fix at some point. Hopefully > > before 1.1 comes out. So bear with us for a little while longer on that > > front and, in the interim > > > > I agree that restarting the server is crucial. Don't know why, but it > > > clears these types of things up. > > > Because there's a lot of internal caching going on. In particular, files > > are imported once and then not imported again (since that would be > > blindingly inefficient). URL configuration files are read once by each > > process and the reverse lookups -- which take quite a bit of effort to > > determine -- are cached so that we don't have to do the work every > > single time. > > > It's fairly logical that if you change something you will have to tell > > the code using that information that the on-disk versions have changed. > > Sure, you don't have to worry about the "compile" part of a normal > > development cycle when using Python very often, but there is some text > > -> bytecode compilation going on, whether converting to .pyc files or > > simply on the import into memory and there is other in-memory storage > > taking place. The development server spoils people a bit in this > > respect, in that it tries to detect a certain, fairly large class of > > changes, but it cannot detect everything and isn't really a useful use > > of development effort to make it do so. > > > > Oh well, every powerful mechanism is bound to be difficult to work > > > with. I figure one of these days I'll *really* understand the > > > structure of a Django app and these reverse url's will no longer > > > plague me. > > > Definitely the right attitude! :-) > > > The more you persist, the better you get. > > > The primary audience for Django, although not very clearly defined, is > > pretty much experienced programmers and web designers trying to get > > things done quickly and are familiar with using it. It's a productivity > > tool and time saver for doing things that you already understood. People > > coming to Django as a new framework and a new programming language > > (Python) and learning about HTML / Javascript / CSS and databases and > > sysadmin and all the other bits and pieces are going to find there's a > > lot to learn. That's only because there's a lot to learn. It's > > practically impossible to write something that is both easy to learn for > > people starting out and powerful enough to be a genuine aid to > > experienced users and, historically, Django has been developed as an > > aid, not an entry point -- which is why it's so genuinely useful in > > profressional-grade products. > > > I have no idea what your experience is, historically, so I'm not > > intending to label you here. I only want to point out that Django isn't > > meant to necessarily be a shortcut to avoid understanding a broad swathe > > of stuff. It can help you postpone learning about some things and gives > > a nice way to learn about it, but it's an aid, not a crutch. We > > obviously don't discourage people learning to use Django, Python, HTML > > (insert list of stuff here...), as evidenced by this mailing list and > > the IRC channel (well, setting simple good manners and patience issues > > aside for now), but the implicit contract with the users is that people > > starting out or at various points along the learning curve will progress > > to the right, towards being more advanced users with deeper > > understanding and we don't need to dumb down things to meet them on the > > left side of the curve, which would harm the primary audience. > > > Regards, > > Malcolm- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---