>> It is clear and obvious. But it has the "template engine" duplicating >> a function that Python has built in. My goal is to learn reusable >> Python (reusable for non-web projects). My goal is not to find the >> quickest way to a website. > > Please correct me if I'm wrong, but you did learn HTML, CSS and SQL, didn't > you ? How do any of these languages relates to Python ?-) >
HTML and CSS yes, but just enough SQL to fake it. None of those languages relate to Python, each language performs a different function. However, the template language looks completely redundant as it duplicates functionality of the language that I intend to learn. >> won't help me learn Python any more than learning PHP would. >> So going from PHP to Django is pointless. > > Please get out of the "server page" mindset. Templates are just that : > templates. Period. You don't use templates to write your *applicative* code. > I understand that. >> I meant reusable knowledge, not reusable code. > > There's very few "reusable knowledge" to be gained from templating code > anyway- even if using a "python-based" template system like Mako. Unless you > think doing a loop or a conditional are things you need to learn ?-) > I would say that one needs to know how to do a for loop in Python, in order to program in Python! >>> Then use Mako - it uses plain Python to manage the presentation logic. >> >> Now we're talking! I will look further into Pylons and Mako. > > Beware that the above comments about how less there's to learn from the > templates code still apply - basically, the "programming" part of a template > is restricted to simple branching, iterations, and variable substitution. > I see. >> I don't expect to ever have a "team", > > Possibly not. But as strange as it migh be, there are other peoples that do, > and most of these frameworks are written by professional web programmers. > I therefore counter that these frameworks were designed for people unlike myself, which easily explains my resistance to them. >> The point is that I want to use only _Python_ features, not >> Django/Mako/whatever features. > > If so, you shouldn't use *any* third-part libs, and possibly not even the > stdlib. > THat is going just a bit far! > More seriously : reinventing the wheel - unless for educational purposes - > is not really pythonic. If what you want is to learn, write your own > framework, template system, form handling etc... You'll very certainly find > out that they suck big time compared to existing projects, but you'll learn > _at least_ one thing: that writing a sensible non-trivial framework or lib > is *hard*. > Actually, I konw just how hard it is. PHP and some C in university. >> However I am aware that some things I >> should not touch for security reasons. That is why I want a framework: >> to provide the security aspects of things like converting UTF-8, > > from what and to what ?-) > Into and out of the database. > string / unicode encoding and decoding is a builtin Python feature. > I know, but I need to play with it a bit before I become comfortable with how it is handled. >> database escaping, > > Already provided by any DB-API compliant connector, at least if correctly > used. > > Now there's *much* more in security (specially when doing web programming) > than this... Of course. But these are the relevant issues for Python. -- Dotan Cohen http://what-is-what.com http://gibberish.co.il -- http://mail.python.org/mailman/listinfo/python-list