• 2867
  • 0 comments
  • loading...

How to obtain and save IP address in the database

How to obtain and save IP address in the database using simple comment example.

Model Model


Defining comment table






db.define_table('page_comments', 

Field('client_ip','string',readable=False, writable=False, default=request.client),
Field('approved', 'boolean', default=True),
Field('user_comment', 'text', default="",required=True,notnull=True, requires=[IS_NOT_EMPTY(),
IS_LENGTH(2**28)],label=T("Your comment")),
Field('comment_on', 'datetime', default=request.now, writable=False, readable=False))

Controller default.py


Create form with SQLFORM() and specify fields. client_ip field will update automatically. 





def my_comments():

form=SQLFORM(db.page_comments, fields = ['user_comment'])
show_all_comments = db(db.page_comments).select()
if form.process().accepted:
request.session='Thanks for your comment'
return dict(form=form,show_all_comments=show_all_comments)

View default/my_comments.py
















{{#extend 'layout.html'}}

<h1>Leave your comment...and your IP address</h1>

{{=
form}}

{{for row in show_all_comments:}}
<p>{{=row.id}}: ({{=row.client_ip}}) {{=row.user_comment}}</p>
{{pass}}

<h2> Standard display </h2>
<p> {{=show_all_comments}} </p>

Result

request.client
loading...

Comments

loading...

Tag Cloud

accepted Acces Control access rights actions_disabled admin allowed_attributes allowed_schemes App apps args auth authentication B bar chart BEAUTIFY begin BODY BR carousel CAT CENTER chart check CLEANUP client request client_side CMS CODE COL COLGROUP comment compute contact form crud.create crud.delete crud.read crud.select crud.tables CRUD custom attributes custom form DAL data define_table deletable depriciated DIV doctype dot dspval EM embed64 enable_record_version end error_message example extension Field types Field FIELDSET file filename form.accepted form.accepts form.process form.validate FORM format Forms Grid H1 H2 H3 H4 H5 H6 hash_vars Hello helper helpers highchart hmac_key host hosting HTML image images inpval ip address ip IS_DATETIME IS_DATETIME_IN_RANGE IS_DECIMAL_IN_RANGE IS_EMPTY_OR IS_EQUAL_TO IS_EXPR IS_FLOAT_IN_RANGE IS_IMAGE IS_INT_IN_RANGE IS_IN_DB IS_IN_SET IS_IPV4 IS_LIST_OF IS_NOT_EMPTY IS_NOT_IN_DB IS_NULL_OR is_slug IS_STRONG IS_TIME IS_UPLOAD_FILENAME IS_UPPER IS_URL lable lambda lang lastdot linkto li_class li_first li_last login_methods maximum maxip maxlen MENU min minimum minip mobile mode module multiple permitted_tags pie chart placeholder plugin prepend_scheme pythonanywhere query rating reCaptcha redirect request.now routes.py salt sanitize scheme services settings slug sortable special SQLFORM() SQLFORM.grid SQLFORM SSL submit table constructor TAG test text TinyWebsite ul_class update upper URL rewrite URL validator value vars Views widget XML xmlescape _class _common_fields


Powered by
Web2py

Hosted on
www.pythonanywhere.com
(affiliated link)