
{"id":428,"date":"2007-03-14T18:56:00","date_gmt":"2007-03-14T18:56:00","guid":{"rendered":"http:\/\/www.sincebirth.cn\/?p=428"},"modified":"2007-03-14T18:56:00","modified_gmt":"2007-03-14T18:56:00","slug":"the-django-framework","status":"publish","type":"post","link":"https:\/\/niuduer.sincebirth.space\/?p=428","title":{"rendered":"The Django framework"},"content":{"rendered":"<div id=\"blog_text\" class=\"cnt\">\n<h3>Object-relational mapper<\/h3>\n<p>Define your <a href=\"http:\/\/www.djangoproject.com\/documentation\/model_api\/\">data models<\/a> entirely in Python. You get a rich, <a href=\"http:\/\/www.djangoproject.com\/documentation\/db_api\/\">dynamic database-access API<\/a> for free &mdash; but you can still write SQL if needed.<\/p>\n<h3>Automatic admin interface<\/h3>\n<p>Save yourself the tedious work of creating interfaces for people to add and update content. <a href=\"http:\/\/www.djangoproject.com\/documentation\/tutorial2\/\">Django does that automatically<\/a>, and it&#8217;s production-ready.<\/p>\n<h3>Elegant URL design<\/h3>\n<p>Design pretty, <a href=\"http:\/\/www.djangoproject.com\/documentation\/url_dispatch\/\">cruft-free URLs<\/a> with no framework-specific limitations. Be as flexible as you like.<\/p>\n<h3>Template system<\/h3>\n<p>Use Django&#8217;s powerful, extensible and designer-friendly <a href=\"http:\/\/www.djangoproject.com\/documentation\/templates\/\">template language<\/a> to separate design, content and Python code.<\/p>\n<h3>Cache system<\/h3>\n<p>Hook into memcached or other cache frameworks for <a href=\"http:\/\/www.djangoproject.com\/documentation\/cache\/\">super performance<\/a> &mdash; caching is as granular as you need.<\/p>\n<h3>Internationalization<\/h3>\n<p>Django has full support for <a href=\"http:\/\/www.djangoproject.com\/documentation\/i18n\/\">multi-language applications<\/a>, letting you specify translation strings and providing hooks for language-specific functionality.<\/p>\n<p>\uff08http:\/\/www.djangoproject.com\/\uff09<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Object-relational mapper Define your data models entire [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-428","post","type-post","status-publish","format-standard","hentry","category-all"],"views":1584,"_links":{"self":[{"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=\/wp\/v2\/posts\/428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=428"}],"version-history":[{"count":0,"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=\/wp\/v2\/posts\/428\/revisions"}],"wp:attachment":[{"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/niuduer.sincebirth.space\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}