Cannot pass a variable given from url to route's callback fucntion and redirect issue
rurpy at yahoo.com
rurpy at yahoo.com
Thu Aug 30 11:14:11 EDT 2018
On Wednesday, August 29, 2018 at 10:57:35 AM UTC-6, Νίκος Βέργος wrote:
> Flask app.py
> ==================
> @app.route( '/' )
> @app.route( '/<page>' )
> def index( page ):
>
> # use the variable form template for displaying
> counter = '''<center>
> <table bgcolor=black bordercolor=orangered>
> td><font size=3 color=lime> Αριθμός Επισκεπτών: </font></td>
> <td><a href="{{ url_for( '/log', page='%s' ) }}"><font size=3 color=plum> %d </font></a></td>
> </table>
> ''' % (page, pagehit)
>
> if page != 'index.html':
> pdata = redirect( 'http://superhost.gr/cgi-bin/' + page )
> return pdata
>
>
> Template ndex.html
> ==================
> <div align=right>
> <a href="{{ url_for( '/', page='some_value' ) }}"> <img src="/static/images/π.gif"> </a>
> </div>
>
> <a href="{{ url_for( '/', page='another_value' ) }}"> <img src="/static/images/download.gif"></a>
>
>
> 1. All i want ro do is when the user clicks on the images within the html tamplate, to pass those variables value to '/' route so to perfrom then asome action with those values
>
> The error iam receiving is this:
> ===============================
> builtins.TypeError
> TypeError: index() missing 1 required positional argument: 'page'
>
> I mean i do have <page> declared in route and also do have 'page' as variable to the callback fucntion, why cant it see it?
>
> 2. Also about the redirect funtion iam using... is there a way to get back the HTML response of running that cgi-scrit and then add another HTML value to that response? I used subprocess and Response but they weren able to deliver the content back the pdata variable for display.
> What i actually want to do among other things is from within my flask app script to try to run and get theresponse back of a cgi-script
I haven't looked at your problem in detail (I seldom read this group
anymore) but I think you want something like:
def index( page='myhomepage' ):
If the function gets called via the "/" url, there will be no 'page'
argument so you need to write the function signature to make that
argument optional.
No idea about question #2.
More information about the Python-list
mailing list