Name: [1982] Siddhi
Member: 108 months
Authored: 4 videos
Description: I'm an entrepreneur from Chennai, India and I have my own company `Silver Stripe Software <>`_ where I develop tools for agile software development using Python and Django. My passion is in the startup ecosystem (especially in India), agile development and manageme ...

Learn Django: Extending the wiki with wikiwords and search [ID:378] (2/3)

in series: Learn Django: Create a Wiki in 20 minutes

video tutorial by Siddhi, added 09/07

(Showmedo is undergoing major changes. To report any problems viewing the videos please email us and include browser and OS specifics. Cheers - Kyran.)

This is the second part of the Learn Django series. In this part, we'll extend the Wiki app from part 1 [View part 1 here if you haven't already].

We are going to add support for a menu and auto linking of wikiwords.In the process we will look at template inheritance, filters and custom filter libraries.

Finally, we'll see how to implement a search feature in under 20 lines of code using Django's newforms library and database query API.

Got any questions?

Get answers in the ShowMeDo Learners Google Group.

Video statistics:

  • Video's rank shown in the most popular listing
  • Video plays: 107 (since July 30th)
  • Plays in last week: 3
  • Published: 107 months ago

Thank-yous, questions and comments

If this video tutorial was helpful please take some time to say thank-you to the authors for their hard work. Feel free to ask questions. Let the author know why their video tutorial was useful - what are you learning about? Did the video tutorial save you time? Would you like to see more?

You may also want to see our ShowMeDo Google Group to speak to our active users and authors.

Your email address will not be published.

Show some quick comments >>

All comments excluding tick-boxed quick-comments

76. Androckmop Thu, 02 Sep 2010 16:30


75. christian louboutin shoes online Wed, 21 Jul 2010 21:01

Enjoy that thanks!

Now I have a working project that I can study or maybe reuse in the future.



74. MichaelSi Thu, 17 Jun 2010 05:48

Thank you for the form intro. Forms tend to be one of the complex parts of a framework. Your intro made it easy to understand Django forms.

73. cialis over the counter at walmart Wed, 16 Jun 2010 14:45

The coverage of getting and using the Form content was a bit fast for me. But the entire presentation was very helpful.


72. Sat, 29 May 2010 06:39

Excellent video and gels my basic knowledge of django. Thanks

71. wow gold guide Fri, 14 May 2010 07:24

Awesome tutorials! Step by step, easy to understand, start to finish. Some of the best Django tutorials on the net. I really appreciate the time and effort you took to do these. My only suggestion would be to update them using Django 1.1.1. Thanks!

70. udiizsizeosx Fri, 09 Apr 2010 16:45

Thank you VERY much for the Learn Django video tutorials -- and thank you for ShowMeDo!

I'm looking forward to making my own usefull apps.

69. marinir seo jasa seo Sat, 13 Mar 2010 01:32

Hi Siddhi,

i'm a student of humanities. Your screencast is as much complex as comprehensible - even for me.

Thank you!

68. Fri, 05 Feb 2010 15:57

thanks again, very helpful

67. anonymous Mon, 30 Nov 2009 14:07

Thank you!

Your DIY Wiki in Django videos are excellent, well structured and very informative.

Keep up the good work! :)

66. anonymous Thu, 26 Nov 2009 18:30

This was excellent, very helpful.

I hope to see updates in the future for django 1.1,

like using

"from django import forms"

65. anonymous Mon, 16 Nov 2009 12:55

Thanks a lot for you django tutorials! Will there be more videos from you on django?

I have learned a lot, thank you for sharing your knowledge.

-- Kirill

64. anonymous Sat, 14 Nov 2009 11:33

This one is as good as the first one :-)

63. anonymous Fri, 06 Nov 2009 16:39

Thank you very much. You are a very good teacher. I would enjoy seeing even more of what you have to offer!

62. anonymous Sun, 04 Oct 2009 14:53

great tutorial!

61. anonymous Sat, 26 Sep 2009 11:01

Nicely done, Siddhi. I'm working through this with Django 1.1 now, and most of it is still relevant, only minor changes are required to make things work.

60. anonymous Mon, 21 Sep 2009 05:56


I like the screencasts! Think they are very usefull. Please update them because i had to dive into the changes made in django since you have released your screencasts!

59. anonymous Tue, 15 Sep 2009 06:08

Really liked the rapid pace of this video and the part 1 video. Thanks for giving me a good overview of Django!

58. anonymous Wed, 26 Aug 2009 08:43

Another great video, Siddhi.

I'd like to see another video on forms from models ("Creating forms from models" on the site).

Is there any benefit to using forms from models? Or is the power of using forms as described here so much greater that forms from models would be a step backwards?


57. anonymous Mon, 24 Aug 2009 09:27

Awesome tutorial again.

I never though django will be so easy and powerful. I loved your way of presenting the information in step by step method, It did not scare me away at all and was hooked on to it till the end.

56. anonymous Mon, 24 Aug 2009 08:34

Its nice. I would suggest to use right click in copying text and files instead of using shortcut keys. This would help the viewers follow it more easily.

55. anonymous Thu, 13 Aug 2009 11:07


I like very much your Tutorials. I am still very new to Django.

Do I need to learn first python?

best regards,


54. anonymous Sun, 09 Aug 2009 07:37

thanks for the great video...very informative. More power and hope more videos to come.

53. anonymous Sun, 26 Jul 2009 15:16

Great Introduction to Django, I have the Book right next to me but now I also got the Basics and Motivation to really start learning :).

52. anonymous Wed, 22 Jul 2009 14:21

Another great video. I wonder if updated versions could be done for post Django version 1.0.

As much as I understand that part of the charm of open source software is supposed to be building up new versions of the documentation on your own, the little hiccups in command names and such can become un-charming when you are trying to learn on a deadline. Otherwise, mighty fabulous video.

51. anonymous Thu, 25 Jun 2009 11:08

Great add-on to the first tutorial. It's a little out of date with the 1.0.2 branch but figuring out the differences made me dig a little and read more of the documentation than I would have if everything had worked perfectly right off the bat.

Thanks! Keep up the good work. Maybe I'll be able to add a tutorial of my own before too long...


50. anonymous Sun, 14 Jun 2009 08:04

I'm very impressed by your your videos. I'm new in Django and because of your great flow with this framework, I'm sure that Django is the right choice for me. Thanks for all.

49. anonymous Fri, 12 Jun 2009 09:33

Excellent! My first time with Django and CGI for that matter. And I'm productive already!

very interesting but some conepts need more explanation

47. anonymous Tue, 02 Jun 2009 19:16

Very nice tutorial. Thank you ! Gives me motivation to start with this :)

45. anonymous Sat, 28 Feb 2009 06:31


Excellent video Siddi , you rule, this seemed to work in view.html


{% extends "base.html"%}

{% load wikilink %}

{% load markup %}


43. anonymous Sun, 04 Jan 2009 23:07

Siddhi, I am an intermediate python coder. I need to set up a web interface for a program I am developing for the Molecular Biology Iab I am a student in. They are not into cmd line. I have done similar things in perl years back but have not had a need to do it in a while and, I dont do perl anymore. THANK you SO much for this video. It will save me so much time and has sold me on using django!

Augustine Dunn

Univ Cal Irvine

This is extremely useful. After writing a web app from scratch, I can really appreciate the power of using a framework like django. I look forward to viewing the third video in the series.

Hi Mark, newer versions of Django auto-escape the HTML. See this comment #20 above for details -

great video.

I'm have it working well although I'm getting a bunch of




in the middle of otherwise nice looking HTML.

Any ideas?

Great video, however; I'm getting a bunch of






Where I expected to see

<ul> <li> one </li> </ul>

i tried one more time and working good.

very useful, but i can watch only first 5 minutes of this video, something is wrong with file? i tried several times but after 5 minutes watching back to the begin, could you help ?

Hi, that should be name__contains (there are 2 underscores between name and contains)

35. anonymous Sun, 06 Jul 2008 07:20

I got this error:

TypeError at /wikicamp/SearchPage/

Cannot resolve keyword 'name_contains' into field

Anyone knows the reason of that?

I changed cleaned_data and wrote clean_data because I'm using Django 0.96 and it doesn't search anything.

Thanks for your time.

34. anonymous Sun, 06 Jul 2008 07:11


I'm using Django 0.96 and when I replaced "cleaned_data" with "clean_data" I got this error when I tried to search something:

TypeError at /wiki/SearchPage/

Cannot resolve keyword 'name_contains' into field

Request Method: POST

Request URL:

Exception Type: TypeError

Exception Value: Cannot resolve keyword 'name_contains' into field

Exception Location: /var/lib/python-support/python2.5/django/db/models/ in lookup_inner, line 938

I'd like to know why that happens and how to solve it...

Thanks for any help you can give me.


Thank you so much for Python Beginners like me

Hope for your next big shot!

Thanks again.

32. anonymous Mon, 11 Feb 2008 08:23

Very nice, is better than first

31. anonymous Mon, 04 Feb 2008 15:45

Thanks, Siddhi.

One suggestion: for SearchPage and other special pages, why not just use the url patterns with their own view functions? You've just implemented your own micro-dispatch when that's already provided by Django.

Thanks for all the comments! anonymous, you are just in time :) The third video in the series has been uploaded. It's available here -

29. anonymous Sun, 03 Feb 2008 11:19

Really great work ! Thats a nice way to learn django!

If you have some time i would love to see more of your screencasts.

28. anonymous Sat, 19 Jan 2008 03:12

Informative and fun to watch. I've watched several times and then followed along. This is one of the top django screencasts I've seen.

27. anonymous Sun, 06 Jan 2008 20:32

Very good. Thank you for this. I'm starting to learn about Django and this is very useful.

26. anonymous Wed, 12 Dec 2007 08:12

Thanks a lot, this screencast was extremely useful... well explained even for newbies like me!

I hope something new will be published soon!


The problem in using a regexp is that is blindly converts all matches.

For example, say I have a link <a href="..">Check out MyPage here</a> then the filter will link up MyPage again even though it is already linked. So there are cases like this where we should not automatically do a conversion.

This is the problem with using regular expressions. The proper way is to parse the content with a HTML parser check that we dont make wikilinks in invalid situations.

by the way I like the following regex for finding wikiwords...

wikilink = re.compile( "(([0-9]?[A-Z][a-z]+[0-9]?)+)" )

allows for numbers and more than two words

excellent work... really helping me get a handle on django... you mention that there's a better way than regular expressions to find wikiwords... can you elaborate?

22. anonymous Tue, 27 Nov 2007 12:14

Great screencast... really helping me to get my head around Django... You mention there's a better way to do WIkiWords instead of using regular expressions... can you elaborate?

21. anonymous Sun, 25 Nov 2007 15:19

Great screencasts, hope more is comming?


20. anonymous Tue, 20 Nov 2007 10:51

Ok I understood why it's auto-escaped. That's because I use Django svn trunk release and it auto-escapes content as explained in

I used mark_safe() to continue to practice and follow the screencast.

19. anonymous Tue, 20 Nov 2007 08:22

Hi Siddhi,

Thanks for this great screencast!!!!

Django seems to escape by default know (I've just tried the <hr> example). Do you think it is yet needed to write {{page_name|escape}} ?

18. anonymous Mon, 05 Nov 2007 18:33

Awesome tutorial, thanks a lot! I'm learning Django, and this really helps.

Please do continue the series if you have the time. A logical next step might be sessions and authentication... Thanks again, keep it up!


Thanks for all the comments!

16. anonymous Wed, 31 Oct 2007 19:53

Thanks Siddhi, I watched both of your screen casts and they are really great. You have done in a few minutes what my friends tried to do for days two years before :)

Waiting for the third in series...

15. anonymous Fri, 26 Oct 2007 17:03

Brilliant work Siddhi. I was trying to get a grasp on Django and this sold it for me.

14. anonymous Fri, 26 Oct 2007 12:02

Siddhi, Excellent series. Thank you very much for the work that you have put into this. In screencast #2, I found the explanation of writing your own filters was particularly helpful.

I have two specific topics that I would like to suggest for the next screencast. The first is generic views. You have been writing your own custom views. How hard would it be to convert to using generic views? A second topic would be the testing framework offered by Django. Could you write both a simple unit test and a test against a view? A demonstration for both of those types of tests would be quite helpful.

Thanks again for your work putting these together.

13. anonymous Mon, 22 Oct 2007 21:04


Excellent introduction to template inheritance and forms in Django, I'm exploring Django as an alternative to Ruby on Rails, which I already have quite a bit of experience with, and your tutorials have really helped.


Thanks a lot for the tutorial. I especially liked the demonstration of writing a custom filter.

Great tutorial, Siddhi!

It's the first time I see newforms in action. Great complement to Django's own tutorial.

If you consider producing the next django tutorial in the series, I'd like to see django app testing or django with Ajax.

Really appreciate your work.


10. anonymous Mon, 01 Oct 2007 19:45

Well impressed by both videos, so much ground covered in 40 minutes. Great for people who wonder whether Django is worth investing time into!

9. anonymous Mon, 01 Oct 2007 04:18

Hi Siddhi

watched both the videos ..... Great job !!!


8. anonymous Mon, 24 Sep 2007 12:18

Siddi this is one of the best video around here. On place two is the first Part :)

thank you so much!

7. anonymous Fri, 21 Sep 2007 07:18

Very useful, clear and easy to understand. Thanks!

Hey Siddhi,

thanks for you quick reply. Im running 0.96. clean_data works perfectly!

thanks for your help. Looking forward to the next part (if there is actually gonna be a next part).

Hi house,

In the svn development version the field was changed from clean_data to cleaned_data. So if you are using 0.96 release or an older svn version then the field will be called clean_data. In newer svn versions it is called cleaned_data.

Hey Siddhi, awesome screencast! Thanks a lot. Keep doing it! Very good for beginners (like me) to get into django.

just one thing, if i try to search i get an error that 'SearchForm' object has no attribute 'cleaned_data'. the validation itself works flawless. if i leave the search field blank, it tells me that the field is required.

do you have any idea what could be wrong?

thanks for your help.


Both first part and second part of your Learn Django Series are great!

KUDOS on how you build on the first part to introduce other aspects of Django. It's very instructive to see how it all fits together.

Looking forward to see you expand on this series.

Congratulations and Txs Siddhi!

2. anonymous Tue, 11 Sep 2007 04:47

Super work Siddhi!!! Big thanks, for your time here. If you're looking for suggestions what to 'ShowMeDo' next I would be thankful for an example of using newforms with a model, specially one form for two different model model objects.

Awesome screencast again, Siddhi!

Interesting topics, delivered in a well-paced, logical and easy to follow way.

I can't wait to see the next part of your series...:-)

Showmedo is a peer-produced video-tutorials and screencasts site for free and open-source software (FOSS)- with the exception of some club videos, the large majority are free to watch and download.

how to help » about » faq »

Educating the Open-source Community With Showmedo

Although as important as the software it supports, education and documentation are relatively neglected in the Open-source world. Coders love to code, and explaining how best to use or improve the software tends to be deferred or even sidelined.

At Showmedo we believe the community can play a vital role here and also say thanks for the tools and software that make our lives easier. If you have a piece of software you love or a programming langugage you are enthusiastic about, why not make a screencast showing others how to use it? All the stuff you wish you'd been told, the tips, tricks, insights that would have saved you time and frustration.

Screencasting is easier than you think, and we're happy to help you. You can emailus for advice or just use some of the how-to screencasts on the site. This screencasting learning-pathis a good place to start.

Kudos and Thanks for Siddhi

Learn Django: Create a Wiki in 20 minutes

good presentation

maccosmeticswholesalers mac makeup mascara c 16
72 months ago
Learn Django: Create a Wiki in 20 minutes


DevBBQ new shades of mac lipstick Strong Resistance To Heat And Hard Wearing MKAObLVO41
72 months ago
Learn Django: Create a Wiki in 20 minutes

Very good

maccosmeticswholesalers mac makeup kit c 39
72 months ago
Learn Django: Create a Wiki in 20 minutes

Great video thanks

maccosmeticswholesalers 68 color eyeshadow c 18 34
72 months ago


Showmedo's development is fairly rapid and bugs will inevitably creep in. If you have any problems please drop us a line using the contact address below. Likewise, any suggestions for improvements to the site are gratefully received.