So I'm trying out Web2py, I'm a complet newbie. I've been using python to write CGI for years, I have python cgi that I use to display data from mysql db. Its pretty simple and I thought I'd trying to recreate it using web2py. Basically its a simple html form that has a drop box and a submit button. The drop box is filled with mac addresses from a database. So basically you select the mac address, hit submit and it brings back all the data in the db related to that mac address.
My current cgi program uses a simple function to grab the distinct mac addresses from the db and put them in to a dropdown. def PrintSelectMAC(): db = MySQLdb.connect("localhost","myuser","mypass","wifi_usage") cursor = db.cursor() sql = 'SELECT DISTINCT(mac_addr) from wifi_usage' cursor.execute(sql) data = cursor.fetchall() print ("<b>Select MAC Addresses:</B><BR> \n") print ("<SELECT NAME=\"mac_addr\">") for row in sorted(data): macaddr = row[0] print ("<OPTION VALUE=\"%s\">%s") %(macaddr, macaddr) print ("</SELECT>") I'm trying to get just this far with Web2py and I'm running into a learning curve or something. Here's what I've done so far.. in my Model (db.py) I have added.. db = DAL("mysql://myuser:mypass@localhost/wifi_usage") db.define_table('wifiusage', Field('u_date', 'date'), Field('account_id', 'string', length=16), Field('mac_addr', 'string', length=20), Field('upstream', 'integer'), Field('downstream', 'integer'), Field('total', 'integer'), Field('location', 'string'), Field('package', 'string') ) So this worked well. I then populated this database with data. in my controller (index) I added: def get_macaddr(): # Grab distinct MAC addresses from DB macaddr = db(db.wifiusage).select(db.wifiusage.mac_addr, distinct=True) form = SQLFORM.factory( Field('macaddr', label='Select a MAC Address', requires=IS_IN_SET(macaddr))) return dict(form=form) I created a get_macaddr.html view. It looks like this. {{extend 'layout.html'}} <h1>This is the get_macaddr.html template</h1> {{=form} Here's the issue. My Form dropdown box. contains entries that look like this. <Row {'mac_addr': '0123456789ab'}> What I want is it to contain just the macaddress ''0123456789ab' for the value I have to admit the syntax is messing with me. I'm sure I'm doing something silly, Perhaps I've been doing cgi to long. I want to stick with it and learn web2py, what am I doing wrong? Thanks --