Django community: Community blog posts RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Quellcode is published
Der source code of LFS has been published on Google Code. The code is under the BSD license and can be redistributed and used (also commercial) by everyone. -
Load time in practice
Two reportings of the Bearcounty Gartenhaus Shop show: The performance of LFS approves in practical experience. The reports display the average load time of a category page. (Source: Sitealert, http://www.sitealert.de/) Load time of last 24 hours: Load time of last seven days -
LFS News
Some updates about the progress of LFS: Using South We started to using South for migrations. Works like a charm here. Better PayPal integration Michael Thornhill joined the developer team and started to integrate django-paypal. I'm really happy about it as the package looks clean and well thought. Michael's integration is already up and running. He has created a branch and a buildout. Fixed several bugs We fixed several bugs recently. Thanks to Martin Mahner who reported several issues and provided the patches for them. Smart product suggestions Jens Zeidler (a colleague) started his master thesis. He is developing an application for product suggestions (and more) based on customer behaviour with the help of some AI, which will end within LFS at the end of this year. Adding Portlets We started to add portlets to LFS. We are using django-portlets which is planned to be a standalone application in near future once we are done. Multiple languages support Troels Rønnow (and colleagues) plans to add multiple language support to LFS. We are looking forward to that. That's all for today, next week there will be more news about LFS. If you haven't tried it yet, consider to check it out. The installation will just last a few minutes. Update: … -
This week in LFS (22)
Google group We created a Google group for LFS. Don't hesitate to post there if you have any questions. Portlets engine A first version of portlets integration is available within trunk. There has to be done a lot of work, though. For instance: A decent method to inherit / block portlets from parent objects Transform existing portlets (inclusion tags) to Portlet objects Within that scope we published django-portlets - a generic portlets engine for Django (documentation will follow soon). Fixed issues Again Martin Mahner provided several issues and fixes. Thanks for this. -
This week in LFS (29)
This are the LFS news for week 29. New Shop: In the last couple of weeks we migrated http://www.demmelhuber.net/shop from EasyShop (Plone - http://www.geteasyshop.com) to LFS. Demmelhuber is a (inofficially) top-500 shop in germany and has >1000 unique visits per day. This give LFS a lot of requirements and use cases from a power user (e.g. interfaces to ERP, ebay, amazon, price comparing portals a powerful management interface, etc.). Products: Display and find only active products. Variants: Variants can now be sorted within the product. Some improvements concerning data inheritance from the base product. Criteria: We added some more criteria: combined length and girth, valid shipping/payment methods (which opens some powerful possibilities to make shipping/payment methods dependent from each other) and some others. Addresses/Localization: Michael created a branch for the dynamic display of certain address fields, like state and country. This is (could be) a start for some kind of localization (addresses, currencies, etc.). We need some more insights and discussions. So if you are interested don't hesitate to get in touch. Carts: Added first simple views to manage carts (this needs more improvements). Bugfixes / Cleanups: A lot of template cleanups. Several bugfixes concerning to variants. Several bugfixes concerning to the checkout page. SWFUpload: I still don't get SWFUpload with lighttpd … -
This week in LFS (23)
GetLFS.com We added some screenshots of the management interface. Code Some bugfixes concerning property groups and properties Unified breadcrumbs More information can be found on Google Code. Talk I'm going to hold a talk about LFS at the Python User Group Leipzig (Germany) next weekon June 9. From the agenda: The presentation gives an overview of LFS: used technologies, development status, next releases, existing and planned features as well as a live demo. Everybody who uses Python, plans to do so or is interested in learning more about the language is encouraged to participate. Food and soft drinks are provided. Please send a short confirmation mail to info at python-academy dot de, so we can prepare appropriately. More information can be found here: http://www.python-academy.com/user-group/index.html And that's all for this week ... -
This week in LFS (24)
Code Michael Thornhill has merged the django-paypal branch into trunk, adapted the documentation and the buildouts. Thanks Michael! Troel Roennow started a branch to implement multi language support. We integrated SWFUpload for mass upload of product images. The same thing for files will follow next week. We finished the first working version of portlets. It's now possible to block the portlets of the parent object per slot. We will convert the existing portlets (which are based on templatetags) to the new engine next week. Talk The slides of my talk are online (sorry, only german at the moment) And that's all for this week ... -
This week in LFS (26)
This are the LFS news for week 26. Portlets The portlets story goes on. At the moment there are almost all portlets ported to the portlet engine: cart, categories, pages, recent product, related products, text and topseller. Some of them need some love, though. Additionally for all portlets there are also inclusion tags to render the portlet within templates. So you don't have to use the engine if you don't need this kind of flexibility. You can also easily register your own portlets and slots (by default there is a left and a right slot). Design The design has been refactored. We are using a tableless base template with the help of blueprint now. Also some simplification has been taken place (this is an ongoing process at the moment) Shops We are working on the migration of demmelhuber.net to LFS. demmlhuber.net is a german top 500 shop with more than 30.000 unique visitors per month. This surely will give us some new use cases and experiences for the future. Next week I will work with some designers on a new shop. I expect some insights from their perspective which will flow positively into the template structure. Issues I found out that SWFUpload (which we are using for mass upload … -
This week in LFS (34)
Sorry for being quite for such a long time. We'll try to be more regular in future. There has been a lot of progress in the last couple of weeks. Here are the important things: Improvements A more generic and flexible category tree (added start level and expand level) Better manage views for products, customer, orders, carts, reviews Improved topseller portlet Removed all URLs from Javascript Bugfixes Calculation of average rating Calculation of delivery time for variants Take care of non active products at several places (e.g. product navigation). New stuff Pluggable credit cart handling (needs some improvements though) Pluggable generic export of products And that's all for this week. Next week there will be more about LFS. -
DjangoCon 09 or Bust
In early September I'll be heading out to Portland, OR to join a bunch of smart people talking about all things Django. This year I snuck myself into the mix. I'm honored to have been selected to give a 15 minute how-to talk on "How to name your open source Django project after a famous Jazz musician, and concepts behind Django-Mingus, a project leveraging only reusable apps." The how-to will focus primarily on the latter topic, but don't you worry, I plan on making sure we cover the former in full as well. The talk itself is a spin-off on the lightening talk I gave at the July Django-NYC meetup where I first introduced the open source Django blog engine, Django-Mingus. If you haven't attended a DjangoCon yet, I suggest you go buy yourself a ticket asap - it's a terrific learning and networking experience, and a very organized and well run conference. Purchase your DjangoCon tickets before its too late, and you miss out on all the good times. Now it's time to get everything in order to make a 1.0 release of Mingus before DjangoCon! I will probably use this blog as a forum to talk about making … -
THis week in LFS (42)
After some time here are some news about LFS: Misc The code has been moved to bitbucket: http://bitbucket.org/diefenbach/django-lfs/ There is a first public release on PyPi: http://pypi.python.org/pypi/django-lfs. (Please note that LFS is still in alpha, though) There is also a new buildout to make installation even easier: http://bitbucket.org/diefenbach/lfs-buildout-quickstart/. To install a whole shop one has just to do the following four steps: $ hg clone http://bitbucket.org/diefenbach/lfs-buildout-quickstart/ $ cd lfs-buildout-quickstart $ python bootstrap.py $ bin/buildout -v There is another buildout for development: http://bitbucket.org/diefenbach/lfs-buildout-development/ Documentation Goeff Kelsall provided some documentation on how to install LFS on Windows and some stuff on how to get started: http://code.google.com/p/django-lfs/wiki/InstallationWindowsTest http://code.google.com/p/django-lfs/wiki/GettingStartedDesign http://code.google.com/p/django-lfs/wiki/GettingStartedShop New Stuff Send rating mails: the shop owner is now able to ask customers to rate their bought products after the order has been closed for some time. -
Django-Mingus 0.2 Update
Note: I migrating to a new URL scheme, so legacy comments are available here. To keep those following up to date I wanted to post a list of features you can expect as we move towards the 1.0 version of Django-Mingus. For those using with the 0.1 version right now — you are completely fine. There is nothing "wrong" with the 0.1 version, and a few blogs are live with it right now, actually. But since the project gained some popularity I've decided it should be upgraded to a complete 1.0 version at some point in time. Just a reminder, Mingus is more about being an attempt at a learning tool first, and then a blog engine second. It's an attempt, I'm sure if you look you'll find areas to suggest better practices. And if you do, please post them for the community on the Django-Mingus issue list. The reason I mention this is because sometime you'll notice feature being introduced that simply exists to be a how-to, or a snippet being introduced that are popular utilities in your Django project that I normally use and I assume you may be interested in using yourself if you haven't heard of … -
LFS News 1/2010
After a long time, here are some updates about LFS: News: LFS moved to bitbucket: http://bitbucket.org/diefenbach/django-lfs/ Cleaned up documentation and added new stuff: http://packages.python.org/django-lfs/ New Code: Added vouchers Added redirects (based on Django's redirects app) Added pluggable templates (Jens Zeidler - iqplusplus) Added manufacturers (Michaela Hering - Demmelhuber) Added featured products (Michael Thornhill - Maithu IT Solutions) Added spain translations (sorry, I forgot who provided this :( Added more tests New live shops: http://shop.fischer-jugend.de/ http://ethnochicbazar.com/ http://www.molloyspharmacy.com/ http://www.gadgeteria.ru/ There are some more in the pipe (we'll give an update soon) What's coming next: Michael is working hard on integration of country specific addresses based on django-countries and django-postal (we hope we are getting it out of the door soon) I made some tests with a GXT-based management interface: Screencast. Will see whether this will go in LFS some time. Better documentation for users and developers Having more lfs-fun :) -
Favorite Django Tips
A few months ago I found a really useful Stack Overflow Question. Here are my favorites from the answers. Use render_to decorator instead of render_to_response This decorator is found in the app django annoying, and is a very nice shortcut for declaring what template a view should render. Instead of returning the response of render_to_response, you just return a python dict which will be used as the template context for the template specified as argument to the @render_to decorator. If anything else than a dict is returned, normal view processing will occur, so this won't break redirects or any other cases where you might return a HttpResponse (for example normal render_to_response code). Anyway, here is an example on how to use it: :::python @render_to("list.html") def list_posts(request): posts = BlogPost.objects.all() return {"blog_posts": posts} This equals to: :::python def list_posts(request): posts = BlogPost.objects.all() return render_to_response('list.html', {'blog_posts': posts}, context_instance=RequestContext(request)) Update (22/4): Marcin Nowak notified me that the render_to decorator breaks Django Reusable App converions, so I made a fork of django-annoying where I modified the render_to decorator to support template_name and extra_context keyword arguments. Load custom template tags in all templates Custom template tags that you use all over your templates can be … -
Introducing Django-Quoteme
I often posted quotes on my old blog at howiworkdaily, and I also maintain a collection of tesimonials over at my Monty Lounge Industries company website, so I figured it would be a good idea to release a reusable app combining the two. Because the two types are too similar to separate them into individual apps I placed them into one reusable app titled django-quoteme. -
LFS News 2/2010
IRC Channel LFS has an IRC channel now: irc://irc.freenode.net/django-lfs Thanks to Simone aka simahawk. New Stuff Development: added pluggable payment methods Management: added static block also to the product class Management: added possibility to define a default variant Management: added deleting of existing file/image for categories Management: added pluggable distance criterion Checkout: added optional toc confirmation Search: added manufacturer and manufacturer id to searchable text Misc: all outgoing mails fail silently now Translations: Thanks to transifex we have a lot updates of translations Documentation: Added a lot of new documentation New Shop There is a new shop based on LFS: http://www.dilling-unterwaesche.de/ Work in Progress We are working on discounts and configurable products. There is also Michael's branch in the pipe, which will add country specific addresses. -
LFS News 3/2010
Today we released LFS 0.5.0 beta 1 - the first public beta release. What does this mean? No new features for the 0.5.0 branch - only bugfixes. The API is considered stable. Changes will go through a proper deprecation process. We will provide migration scripts for all future versions (if necessary). New Stuff Discounts Configurable products Product/Price/Property units Packaging units Improvements Send mail, when order state is changed to 'sent' Added exclude_from_navigation attribute to Page model Optimized top sellers Cleaned up contact form And a lot of bugfixes -
Djangocon and Django-BirdFlight
During my DjangoCon how-to talk I released Django-Birdflight, a project to help you name your Django project after a famous jazz musician, slang, etc. Very important stuff. Grab it. Slides coming soon. -
Released 0.5.0 beta 4
Today we released LFS 0.5.0 beta 4 What's new? Bugfix pages: caching page_view Bugfix cart: display correct stock amount within growl message Bugfix product_inline: display property title within error message Bugfix order_received_mail.html: display the correct selected values of a configurable product Bugfix cart: calculation of maximum delivery date Bugfix redirect: save redirect url for variants Bugfix lfs.page.views: added missing import of Http404 Bugfix: restrict adding to cart if the product is not deliverable. Issue #37 Added french translations (Jacques Seite) Added get_properties method to OrderItem Added optional cached parameter to cart/utils/get_cart_price and cart/utils/get_cart_costs Removed javascript which dynamically sets the height of the slots. Changed properties management: display name instead of title within left portlet Improved lfs.portlet: caching Further Information You can find more information and help on following places: Official page Documentation on PyPI Demo Releases on PyPI Source code on bitbucket.org Google Group lfsproject on Twitter IRC -
The apps that power Django-Mingus
Note: I migrating to a new URL scheme, so legacy comments are available here. After Mehmet S. Catalba launched a new Django-Mingus powered blog, yesterday, I thought it was time I sat down and wrote a brief description accompanied with brief annotations for each reusable app and how they fit into Mingus. The below discusses all 28 (34 actually but 6 are django.contrib apps I don't discuss here) reusable apps Mingus leverages. Django-Basic-Apps Source: Django-Basic-Apps Description: Simple prebuilt applications. Notes: I've launched a handful of blogs using the original, google code hosted, django-basic-apps. There's no bells and whistles but it simply gets the job done, and combine basic-blog with the included basic-media and basic-inlines you can get a long way. Nathan Borror provides a terrific collection of reusable apps in the greater basic-apps project and all are worthy of a visit from noobs and experienced developers. There's not only basic stuff in there so check it out. The basic-apps version that Mingus uses is a fork of Borror's original project by LincolnLoop to make it PIP compliant. I've added a Settings and BlogRoll models to the basic-blog. And I added a new app django-basic-elsewhere that replaces Mingus 0.1 dependency on … -
Released 0.5.0 beta 6
Today we released LFS 0.5.0 beta 6 What's new? Bugfix added_to_cart: Display correct taxes within added_to_cart view. Issue #65. Bugfix variants: display variant's properties on cart, added_to_cart, checkout, received_mail, sent_mail. Issue #40. Bugfix lfs.cart: fixed total of added_to_cart view. Issue: #38. Bugfix lfs.cart: subtract voucher price from cart price. Changed: provide own redirect middleware in order to redirect urls with query string. Further Information You can find more information and help on following places: Official page Documentation on PyPI Demo Releases on PyPI Source code on bitbucket.org Google Group lfsproject on Twitter IRC -
Screencast - Basic-Inlines and AdminImageWidget
Note: I migrating to a new URL scheme, so legacy comments are available here. Below is quick screencast, thanks to screenr, I published in response to some questions I received about how/why Mingus uses Nathan Borror's excellent basic-inlines application which integrates nicely with basic-blog. I also took the opportunity to show off AdminImageWidget which was contributed by Peter Baumgartner over on djangosnippets.org. -
South and Reusable Apps
Note: I migrating to a new URL scheme, so legacy comments are available here. I was honored to be invited to participate in a recent DjangoDose panel covering Reusable Apps in Django which featured Brian Rosner, Eric Florenzano, Alex Gaynor, James Bennett, James Tauber and Jannis Leidel. After listening to the episode I realized I offered up a "brain fart" when responding to @TheSeanOC's question "How should schema migrations be handled in reusable apps?". Let's review the brain fart I jumped in to answer the question quickly but my answer to this question was essentially "use South." Wow, great. Very enlightening. But I forgot to elaborate on the concept I've had in my head for a long time but have yet documented. As the callcast discussion related to this question continued the panel ended up agreeing that the best solution was making the use of South a convention. But in hindsight I wanted to offer something more. I had what I believe is an answer, or at least a suggestion for a solution. Remember in "A Christmas Story" when Ralphie went to the mall to ask Santa for his Christmas present wish? (No? it.). He froze up when he was … -
That apps that power Mingus 0.9
Extending my previous post The apps that power Django-Mingus, the best way to discuss what has changed in Mingus is to discuss the new apps. Well, wait just one second Ok, maybe the best way to begin is to quickly discuss a few higher level updates. The first, and one I'm very proud of, is that Mingus was recently added to Transifix and now has both Spanish and French translations included thus far. To be honest, Transifix wasn't the reason these two languages were added (two developers contributed them before Transifix came into the picture), but I can see it helping in getting the rest. Getting Mingus translated probably wouldn't have been possible if: I didn't focus on providing at least the basic pipeline for internationalization (templates, admin/models where possible) And if Pablo Marti and Florent Messa didn't come in and clean up where I left off. Thanks to those two Mingus now has Spanish and French translations. The fact is that so many apps (and I'm to blame here for some of my apps in the past as well) just don't do the basic i18n legwork that gets your app 80-90% of the way there. It's so easy, so … -
Eleven Django blog engines you should know
About two years ago Michael Trier blogged "Where's the Django Blog?". James Bennett later followed up with Where is the Django Blog Application in which he discusess why there is no "definitive" Django blog engine. More recently Daniel Greenfeld asked Show me your open source Django blog in which he defines various requirements needed for a project. Ever since reading that post I've been meaning to write this post. Below are a few blog engines I selected that I believe you should be aware of, sorted by most recently updated. If the author provided a description I used that. If not, I summarized what I know about the project. If you have your own blog engine we should be aware of, please post the name and url in the comments. Byteflow is not included because the project site is down at the time of this post. Biblion Tagline: The eldarion.com blog app intended to be suitable for site-level company and project blogs. Source: http://github.com/eldarion/biblion Last updated: Feb 9, 2010 Live example:http://eldarion.com/blog/ Description: Biblion was the eldarion.com blog which we've extracted and open sourced. It is currently positioned as being used for site/project blogs such as eldarion.com and pinaxproject.com. We intend …