The Django Book is a useful general introduction; but now more than 2 years old. In a framework like Django, which is under constant development, such old information gets out-of-date very fast. Tom correctly pointed you to the docs; and that is really the best place to work from now that you are doing specific development.
On Aug 16, 6:02 pm, Phang Mulianto <braveh...@gmail.com> wrote: > Oh i see.. > > i read the manual, the django book, no such information about that.. > oh my..better update the manual there.. > > thanks for your quick explanation then, i think not a good way to manualy > assign a dictionarry to the form, not like in the documentation / book of > django. now i get it. > > Thanks > > Mulianto > > On Tue, Aug 16, 2011 at 11:58 PM, Tom Evans <tevans...@googlemail.com>wrote: > > > > > > > > > Your form is not a model form, and so you cannot pass instance=post. > > Since it is just a regular form, you should pass a dictionary of > > values, with the keys of the dictionary being the names of the fields. > > > If the form is representing a model, you should be using a model form. > > >https://docs.djangoproject.com/en/1.3/topics/forms/modelforms/ > > > Cheers > > > Tom > > > On Tue, Aug 16, 2011 at 4:47 PM, Phang Mulianto <braveh...@gmail.com> > > wrote: > > > > hi anyone can help me... > > > > On Mon, Aug 15, 2011 at 12:39 PM, Phang Mulianto <braveh...@gmail.com> > > wrote: > > > >> Hi Daniel, > > > >> i change it to instance, but still got other errors : > > > >> def myadmin_change_post(request, > > template_name='blog/admin/change_post.html'): > > >> try: > > >> id= request.GET.get('id','4') > > >> except ValueError: > > >> id=1 > > >> #post = get_object_or_404(Post,pk=id) > > >> post = Post.objects.get(pk=id) > > >> form = AdminPostForm(instance=post) > > >> return render_to_response(template_name,locals(),context_instance = > > RequestContext(request) ) > > > >> the form : > > > >> class AdminPostForm(forms.Form): > > > >> cat_choices = [('private','private')] > > > >> title = > > forms.CharField(widget=forms.TextInput(attrs={'size':'20','value':'','class > > ':''}),label='Title') > > >> content= > > forms.CharField(widget=forms.Textarea(attrs={'cols':'40','rows':'5'}),label > > ='Content') > > >> slug = > > forms.CharField(widget=forms.TextInput(attrs={'size':'20','class':''}),labe > > l='Slug') > > >> is_publish = forms.BooleanField(label='Publish') > > >> categories = forms.ChoiceField(choices=cat_choices) > > >> created_at = > > forms.DateTimeField(widget=forms.DateTimeInput(),label='Created at') > > >> modified_at = > > forms.DateTimeField(widget=forms.DateTimeInput(),label='Modified at') > > > >> any clue where the error migh be.. > > > >> TypeError at /article/change/ > > > >> __init__() got an unexpected keyword argument 'instance' > > > >> Request Method: GET > > >> Request URL:http://127.0.0.1:8000/article/change/?id=2 > > >> Django Version: 1.3 > > >> Exception Type: TypeError > > >> Exception Value: > > > >> __init__() got an unexpected keyword argument 'instance' > > > >> Exception Location: > > C:\Users\mulianto\workspace\myblog\src\myblog\..\myblog\article\views.py in > > myadmin_change_post, line 132 > > >> Python Executable: c:\python27\python.exe > > >> Python Version: 2.7.2 > > >> Python Path: > > > >> ['C:\\Users\\mulianto\\workspace\\myblog\\src\\myblog', > > >> 'c:\\python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', > > >> 'c:\\python27\\lib\\site-packages\\simplejson-2.1.6-py2.7.egg', > > > >> 'c:\\python27\\lib\\site-packages\\pyasn1-0.0.13-py2.7.egg', > > >> 'c:\\python27\\lib\\site-packages\\pymongo-1.11-py2.7-win32.egg', > > >> 'c:\\python27\\lib\\site-packages\\mongoengine-0.4-py2.7.egg', > > > >> 'C:\\Windows\\system32\\python27.zip', > > >> 'c:\\python27\\DLLs', > > >> 'c:\\python27\\lib', > > >> 'c:\\python27\\lib\\plat-win', > > >> 'c:\\python27\\lib\\lib-tk', > > >> 'c:\\python27', > > > >> 'c:\\python27\\lib\\site-packages', > > > >> 'c:\\python27\\lib\\site-packages\\PIL'] > > > >> Server time: Mon, 15 Aug 2011 12:32:23 +0800 > > > >> Traceback Switch to copy-and-paste view > > > >> c:\python27\lib\site-packages\django\core\handlers\base.py in > > get_response > > > >> for middleware_method in self._view_middleware: > > > >> response = middleware_method(request, callback, > > callback_args, callback_kwargs) > > > >> if response: > > > >> break > > > >> if response is None: > > > >> try: > > > >> response = callback(request, *callback_args, > > **callback_kwargs) > > > >> ... > > > >> except Exception, e: > > > >> # If the view raised an exception, run it > > through exception > > > >> # middleware, and if the exception middleware > > returns a > > > >> # response, use that. Otherwise, reraise the > > exception. > > > >> for middleware_method in > > self._exception_middleware: > > > >> response = middleware_method(request, e) > > > >> ▶ Local vars > > >> Variable Value > > >> exceptions > > > >> <module 'django.core.exceptions' from > > 'c:\python27\lib\site-packages\django\core\exceptions.pyc'> > > > >> e > > > >> TypeError("__init__() got an unexpected keyword argument 'instance'",) > > > >> callback_args > > > >> () > > > >> receivers > > > >> [(<function _rollback_on_exception at 0x025CFAB0>, None)] > > > >> middleware_method > > > >> <bound method CsrfViewMiddleware.process_view of > > <django.middleware.csrf.CsrfViewMiddleware object at 0x027A6C30>> > > > >> self > > > >> <django.core.handlers.wsgi.WSGIHandler object at 0x0276F4D0> > > > >> settings > > > >> <django.conf.LazySettings object at 0x01A788D0> > > > >> request > > > >> <WSGIRequest > > >> GET:<QueryDict: {u'id': [u'2']}>, > > >> POST:<QueryDict: {}>, > > >> COOKIES:{'csrftoken': '5fbc1b8cf0e31318c4f7a1904df1b5c2', > > >> 'sessionid': 'ee90c4ad05c1512cc424c7117f1320c9'}, > > >> META:{'ALLUSERSPROFILE': 'C:\\ProgramData', > > >> 'APACHE2TRIAD_DIR': 'd:\\apache2triad', > > >> 'APPDATA': 'C:\\Users\\mulianto\\AppData\\Roaming', > > >> 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', > > >> 'COMPUTERNAME': 'MULIANTO-PC', > > >> 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', > > >> 'CONTENT_LENGTH': '', > > >> 'CONTENT_TYPE': 'text/plain', > > >> 'CSRF_COOKIE': '5fbc1b8cf0e31318c4f7a1904df1b5c2', > > >> 'DJANGO_SETTINGS_MODULE': 'myblog.settings', > > >> 'FP_NO_HOST_CHECK': 'NO', > > >> 'GATEWAY_INTERFACE': 'CGI/1.1', > > >> 'HOMEDRIVE': 'C:', > > >> 'HOMEPATH': '\\Users\\mulianto', > > >> 'HTTP_ACCEPT': > > 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', > > >> 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', > > >> 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', > > >> 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', > > >> 'HTTP_CONNECTION': 'keep-alive', > > >> 'HTTP_COOKIE': 'sessionid=ee90c4ad05c1512cc424c7117f1320c9; > > csrftoken=5fbc1b8cf0e31318c4f7a1904df1b5c2', > > >> 'HTTP_HOST': '127.0.0.1:8000', > > >> 'HTTP_KEEP_ALIVE': '115', > > >> 'HTTP_REFERER': 'http://127.0.0.1:8000/article/listall/', > > >> 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; > > rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18', > > >> 'LOCALAPPDATA': 'C:\\Users\\mulianto\\AppData\\Local', > > >> 'LOGONSERVER': '\\\\MULIANTO-PC', > > >> 'NUMBER_OF_PROCESSORS': '2', > > >> 'OPENSSL_CONF': 'd:\\apache2triad\\opssl\\bin', > > >> 'OS': 'Windows_NT', > > >> 'PATH': > > 'C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\ > > \System32\\WindowsPowerShell\\v1.0\\;;c:\\python27\\;;d:\\apache2triad\\bin > > ;d:\\apache2triad\\perl\\bin;d:\\apache2triad\\php\\bin;d:\\apache2triad\\m > > ysql\\bin;d:\\apache2triad\\opssl\\bin;d:\\apache2triad\\python\\bin;d:\\ap > > ache2triad\\pgsql\\bin;C:\\Program > > Files\\Enterprise Vault\\EVClient\\', > > >> 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', > > >> 'PATH_INFO': u'/article/change/', > > >> 'PHP_PEAR_BIN_DIR': 'd:\\apache2triad\\php\\bin', > > >> 'PHP_PEAR_DATA_DIR': 'd:\\apache2triad\\php\\pear\\data', > > >> 'PHP_PEAR_DOC_DIR': 'd:\\apache2triad\\php\\pear\\docs', > > >> 'PHP_PEAR_INSTALL_DIR': 'd:\\apache2triad\\php\\pear', > > >> 'PHP_PEAR_PHP_BIN': 'd:\\apache2triad\\php\\bin\\php-cgi.exe', > > >> 'PHP_PEAR_SYSCONF_DIR': 'd:\\apache2triad\\php', > > >> 'PHP_PEAR_TEST_DIR': 'd:\\apache2triad\\php\\pear\\tests', > > >> 'PPM_DAT': 'd:\\apache2triad\\perl\\site\\lib\\', > > >> 'PROCESSOR_ARCHITECTURE': 'x86', > > >> 'PROCESSOR_IDENTIFIER': 'x86 Family 6 Model 23 Stepping 10, > > GenuineIntel', > > >> 'PROCESSOR_LEVEL': '6', > > >> 'PROCESSOR_REVISION': '170a', > > >> 'PROGRAMDATA': 'C:\\ProgramData', > > >> 'PROGRAMFILES': 'C:\\Program Files', > > >> 'PROMPT': '$P$G', > > >> 'PSMODULEPATH': > > 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', > > >> 'PUBLIC': 'C:\\Users\\Public', > > >> 'QUERY_STRING': 'id=2', > > >> 'REMOTE_ADDR': '127.0.0.1', > > >> 'REMOTE_HOST': '', > > >> 'REQUEST_METHOD': 'GET', > > >> 'RUN_MAIN': 'true', > > >> 'SCRIPT_NAME': u'', > > >> 'SERVER_NAME': 'mulianto-PC', > > >> 'SERVER_PORT': '8000', > > >> 'SERVER_PROTOCOL': 'HTTP/1.1', > > >> 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.7.2', > > >> 'SESSIONNAME': 'Console', > > >> 'SSLEAY_CONF': 'd:\\apache2triad\\opssl\\bin', > > >> 'SYSTEMDRIVE': 'C:', > > >> 'SYSTEMROOT': 'C:\\Windows', > > >> 'TEMP': 'C:\\Users\\mulianto\\AppData\\Local\\Temp', > > >> 'TMP': 'C:\\Users\\mulianto\\AppData\\Local\\Temp', > > >> 'USERDOMAIN': 'mulianto-PC', > > >> 'USERNAME': 'mulianto', > > >> 'USERPROFILE': 'C:\\Users\\mulianto', > > >> 'VBOX_INSTALL_PATH': 'C:\\Program Files\\Oracle\\VirtualBox\\', > > >> 'WINDIR': 'C:\\Windows', > > >> 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x012050D0>, > > >> 'wsgi.file_wrapper': <class > > 'django.core.servers.basehttp.FileWrapper'>, > > >> 'wsgi.input': <socket._fileobject object at 0x028E09B0>, > > >> 'wsgi.multiprocess': False, > > >> 'wsgi.multithread': True, > > >> 'wsgi.run_once': False, > > >> 'wsgi.url_scheme': 'http', > > >> 'wsgi.version': (1, 0)}> > > > >> callback > > > >> <function myadmin_change_post at 0x028ECC70> > > > >> resolver > > > >> <RegexURLResolver myblog.urls (None:None) ^/> > > > >> urlresolvers > > > >> <module 'django.core.urlresolvers' from > > ... > > read more » -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.