On Saturday, June 16, 2012 5:10:34 AM UTC-5, cmac0tt wrote:
So python is what I chose to learn, using the Django framework.
I had this project working, then it just stopped out of nowere when I was about to show one of my two bosses. Anyone able to give any insight? I put everything in a DPASTE.
First it kept telling me that line 45 (which didnt exist was "unindented", I did a %retab and fixed it. Not sure how, my .vimrc settings are correct. But after that starting bugging out then it didnt like my final redirect even though it was working before hand. Note there is no other errors. It basically doesnt like my HttpResponseRedirect at the end of the last view (see dpaste)
Remember I am total n00b so snake talk can go over my head sometimes. So if you feel like helping please try to explain why not just what if that makes sense (if you dont mind). I would appreciate it greatly!
here is the dpaste:
Line 44 is an error: unless you've defined it (you didn't), there is no "write()" - it seems like you took someone's comment too literally: I imagine something like this was said "To save a wiki page, you have to ... um.... save it somehow, you know - print(), or write(), or something!" --- and you put print(), and write() in your code, without understanding why you were doing that.
So - contents of a wikipage which your program is enabling someone to create, must somehow persist between visits.
This can happen any number of ways, and you (basically) choose / decide / design how you will to this.
You can store the contents of the page in:
- a database entry;
- a file
- ...<you fill in the other possibilities, if you like>...
The "magic" you are not grasping is that, in Django, models are Python abstractions (representations) of a database table. You (thankfully) don't have to worry about SQL, or creating a database - just interact with the model, and all the stuff with the backend (be it sqlite, or some other database) is magically translated and done for you.
SO - since you are using django models, you are storing to a database.
That means you don't need to use "print" to put some content in some file (you didn't even connect the content, nor the output destination in your print statement, so that would have been missing anyway);
That means you don't need to use a file write() method (you didn't have it associated with a file handle, nor with any content to write, so that wouldn't work as written anyway - see http://docs.python.org/library/stdtypes.html?highlight=write#file.write);
All you need is the model's instance ("page" in your case), and use it's save() method (not unlike you might use a file's write() method) --- see https://docs.djangoproject.com/en/dev/intro/tutorial01/#playing-with-the-api
As for try:/except: --- they need to be in pairs. You put this around something which you think might sometimes fail (like show a page, but the page doesn't exist yet). You try; if anything indented under the "try" fails, the "except" line lists which error names it tries to recover from (that is, you can have more than one except, each trying to recover from a certain kind of error). In the case of view_page(), you do a render to "create" (did you want a redirect instead?). BTW, the last two lines under except need to be out-dented (lines 21-22) - when they are, you will see that you have done "content = page.content" twice in a row: once under the "try" clause, and once again, right after the "try" clause (that is, right after it just succeeded). Pick a place to put this, and have it in one place (I would do it outside the "try").
Hopefully, this gives you a start at understanding what you have, what you are trying to do.
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/nx5xpsrwxIMJ
To post to this group, send email to django-users <at> googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe <at> googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.