I think i have understood the differnce:

url argument => http://superhost.gr/page
whcih we grab by its name from the view function definition

url query parameter => http://superhost.gr/?page <http://superhost.gr/page>
=something
which we grab as 'request.args.get('page')

Correct ?!

Στις Δευ, 10 Σεπ 2018 στις 4:00 μ.μ., ο/η Graham Dumpleton <
[email protected]> έγραψε:

> There are lots of resources out there you can read about them.
>
>     https://en.wikipedia.org/wiki/Query_string
>
> You might want to find a basic tutorial which explains to you how HTTP
> requests work as they should explain this and much more.
>
> I presume you have gone through the Flask tutorial at least.
>
> On 10 Sep 2018, at 10:54 pm, Νικόλαος Κούρας <[email protected]> wrote:
>
> You are right!
> please can you explain to me the difference between and argument and a
> query parameter?
>
> Oh my God, i had almost a week this issue which you helped me resolve!
> Thank you !!!
>
> Στις Δευ, 10 Σεπ 2018 στις 3:11 μ.μ., ο/η Graham Dumpleton <
> [email protected]> έγραψε:
>
>>
>>
>> On 10 Sep 2018, at 10:08 pm, Νικόλαος Κούρας <[email protected]> wrote:
>>
>> /home/nikos/wsgi/ i places my apps and static remains at public_html
>> Configuration now is:
>>
>> DocumentRoot /home/nikos/public_html
>>
>> <Directory /home/nikos/public_html>
>>     Require all granted
>> </Directory>
>>
>> <Directory /home/nikos/wsgi>
>>     Require all granted
>> </Directory>
>>
>>
>> WSGIDaemonProcess app user=nikos group=nikos home=/home/nikos/public_html
>> WSGIScriptAliasMatch ^/(?!phpmyadmin) /home/nikos/public_html/wsgi/app.py 
>> process-group=app application-group=%{GLOBAL}
>>
>> WSGIDaemonProcess clientele user=nikos group=nikos 
>> home=/home/nikos/public_html
>> WSGIScriptAlias /clientele /home/nikos/public_html/wsgi/clientele.py 
>> process-group=clientele application-group=%{GLOBAL}
>>
>> WSGIDaemonProcess downloads user=nikos group=nikos 
>> home=/home/nikos/public_html
>> WSGIScriptAlias /downloads /home/nikos/public_html/wsgi/downloads.py 
>> process-group=downloads application-group=%{GLOBAL}
>>
>> =========================
>>
>> I haven't understood your last mail.
>>
>> @app.route( '/' )
>> @app.route( '/<page>' )
>> def index( page=None ):
>>
>>      # read environment
>>      pdata = ''
>>      page = request.args.get('page', 'index.html')
>>
>> You are overriding the 'page' argument given to the function, which is
>> what you want, with the value of the 'page' query string parameter, which
>> is a completely different thing, but because it isn't passed, falls back to
>> using 'index.html'.
>>
>> Comment out the line:
>>
>>     page = request.args.get('page', 'index.html')
>>
>> Do not use that.
>>
>>
>> 'page' variable is supposed to hold the URL parameter givn in browser as 
>> 'http://superhost.gr/something <http://superhost.gr/somehting>' no?!
>>
>> It should instead be page = request.args.get(page, 'index.html') you mean?!
>>
>> But why?!
>>
>>
>> Στις Δευ, 10 Σεπ 2018 στις 2:59 μ.μ., ο/η Graham Dumpleton <
>> [email protected]> έγραψε:
>>
>>> Okay, no I clicked as to what you are trying to do.
>>>
>>> If you want the path segment, don't use:
>>>
>>>     page = request.args.get('page', 'index.html')
>>>
>>> Just use the argument given to the function.
>>>
>>> When you use request.args you are looking at query string parameters.
>>>
>>>     http://superhost.gr?page=xxx.html
>>> <http://superhost.gr/?page=xxx.html>
>>>
>>> They are different things.
>>>
>>> On 10 Sep 2018, at 9:56 pm, Νικόλαος Κούρας <[email protected]> wrote:
>>>
>>> [root@superhost public_html]# curl http://superhost.gr
>>> index.html
>>>
>>> [root@superhost public_html]# curl http://superhost.gr/clientele
>>> index.html <http://superhost.gr/clienteleindex.html>
>>>
>>> As it shows even with an argument passed to the domain '/'  page = 
>>> request.args.get('page', 'index.html') returns the latter
>>>
>>>
>>> Also:
>>>
>>> application = Flask(__name__)
>>> app = application
>>> app.debug = True
>>>
>>>
>>> Wont display error in browser but still in the error_log text file
>>>
>>>
>>> Στις Δευ, 10 Σεπ 2018 στις 2:47 μ.μ., ο/η Graham Dumpleton <
>>> [email protected]> έγραψε:
>>>
>>>> It should not be anywhere under /home/nikos/public_html, not even a sub
>>>> directory.
>>>>
>>>> So use a parallel directory such as:
>>>>
>>>>     /home/nikos/wsgi_apps
>>>>
>>>> When testing use:
>>>>
>>>>     curl http://superhost.gr/
>>>>
>>>> Don't trust your browser, as it may have cached that accessing
>>>> http://superhost.gr/ should redirect to http://superhost.gr/index.html
>>>>
>>>> If curl works, you will need to clear your browser cache history for
>>>> http://superhost.gr/
>>>>
>>>> On 10 Sep 2018, at 9:34 pm, Νικόλαος Κούρας <[email protected]> wrote:
>>>>
>>>> Like this you mean? ialso moved static/ files inside the new wsgi/ 
>>>> directory because even with the directive in the alias 
>>>> home=/home/nikos/public_html templates could not be found
>>>>
>>>> ====================================
>>>>
>>>> DocumentRoot /home/nikos/public_html
>>>>
>>>> <Directory /home/nikos/public_html>
>>>>     Require all granted
>>>> </Directory>
>>>>
>>>> <Directory /home/nikos/public_html/wsgi>
>>>>     Require all granted
>>>> </Directory>
>>>>
>>>>
>>>> WSGIDaemonProcess app user=nikos group=nikos
>>>> WSGIScriptAliasMatch ^/(?!phpmyadmin) /home/nikos/public_html/wsgi/app.py 
>>>> process-group=app application-group=%{GLOBAL}
>>>>
>>>> WSGIDaemonProcess clientele user=nikos group=nikos
>>>> WSGIScriptAlias /clientele /home/nikos/public_html/wsgi/clientele.py 
>>>> process-group=clientele application-group=%{GLOBAL}
>>>>
>>>> WSGIDaemonProcess downloads user=nikos group=nikos
>>>> WSGIScriptAlias /downloads /home/nikos/public_html/wsgi/downloads.py 
>>>> process-group=downloads application-group=%{GLOBAL}
>>>>
>>>> ====================================
>>>>
>>>>
>>>> Still the ERROR remains the same after moving to wsgi/
>>>>
>>>>
>>>> Στις Δευ, 10 Σεπ 2018 στις 1:47 μ.μ., ο/η Graham Dumpleton <
>>>> [email protected]> έγραψε:
>>>>
>>>>>
>>>>>
>>>>> On 10 Sep 2018, at 8:34 pm, Νικόλαος Κούρας <[email protected]>
>>>>> wrote:
>>>>>
>>>>> 1) How do i enable flask so that errors are shown in the browser for
>>>>> m, so i dont have to tail -f error_log all the time?
>>>>>
>>>>> When i was using the flask development server i had this
>>>>>
>>>>> app.run( host='superhost.gr', port=5000, debug=True )
>>>>>
>>>>> Now i have commented this out becuas eitsw being run by mod_wsgi and
>>>>> its sending everythign to the error_log text file.
>>>>>
>>>>>
>>>>> You use:
>>>>>
>>>>>     app.debug = True
>>>>>
>>>>> See:
>>>>>
>>>>>
>>>>> http://flask.pocoo.org/docs/1.0/api/?highlight=flask%20debug#flask.Flask.debug
>>>>>
>>>>> 2) Regarding this code which not behalfing as it should
>>>>>
>>>>> @app.route( '/<page>' )
>>>>> @app.route( '/' )
>>>>> def index( page=None ):
>>>>>
>>>>> # read environment
>>>>> page = request.args.get('page', 'index.html')
>>>>>
>>>>> When i try via browser:
>>>>>
>>>>> 'http://superhost.gr/' page variable equals to 'index.html'
>>>>> 'http://superhost.gr/something' page variable still equals to
>>>>> 'index.html'
>>>>>
>>>>> How is this possbile under mod_wsgi ?
>>>>>
>>>>>
>>>>> You shouldn't get index.html in either case if doing things correctly.
>>>>>
>>>>> The issue may because if I recollect correctly, you had all your .py
>>>>> files for the WSGI application under your DocumentRoot directory. You
>>>>> should not do that as it can be insecure and wrong configuration elsewhere
>>>>> can lead to someone being able to download your source code. Having things
>>>>> in their could also cause issues with Apache trying to remap URLs to index
>>>>> files.
>>>>>
>>>>> Create a directory separate to your DocumentRoot directory and move
>>>>> the .py files into it. Then change the WSGIScriptAlias directives to
>>>>> reference the new location. You will also need to create a new Directory
>>>>> block for the new directory and grant access to being able to serve files
>>>>> from that directory.
>>>>>
>>>>>
>>>>>
>>>>> Στις Δευ, 10 Σεπ 2018 στις 5:05 π.μ., ο/η Graham Dumpleton <
>>>>> [email protected]> έγραψε:
>>>>>
>>>>>>
>>>>>>
>>>>>> On 10 Sep 2018, at 11:52 am, Νίκος Βέργος <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>> Graham i know you helped me a lot but my script cannot work if i
>>>>>> don;t het this oe sorted out and i'am trying for hours allready.
>>>>>>
>>>>>> Please do help.
>>>>>>
>>>>>>
>>>>>> I have 3 wsgi scripts listening on 3 locations. What i'm trying to
>>>>>> run an wsgi script from within another wsgi script with the following
>>>>>> statement.
>>>>>>
>>>>>>
>>>>>> page = 'clientele'
>>>>>> pdata = requests.get( 'http://superhost.gr/' + page )
>>>>>> pdata = pdata.text + counter
>>>>>>
>>>>>> Have you tried to add print() statements into your code, when it is
>>>>>> running and what variables are at each point? If you use print(), what 
>>>>>> you
>>>>>> print will appear in the Apache error log so you can see it. As per 
>>>>>> example
>>>>>> in requests docs at:
>>>>>>
>>>>>> http://docs.python-requests.org/en/master/
>>>>>>
>>>>>> you don't even appear to check the response status code. Check such
>>>>>> things, print out the values and see what it is getting.
>>>>>>
>>>>>> page = the location of another wsgi app.
>>>>>>
>>>>>> The error i'am getting when for i.e i try to load
>>>>>> http://superhost.gr/clientele
>>>>>>
>>>>>>
>>>>>> mod_wsgi (pid=7152): Exception occurred processing WSGI script 
>>>>>> '/home/nikos/public_html/app.py'
>>>>>> OSError: Apache/mod_wsgi failed to write response data: Broken pipe.
>>>>>>
>>>>>> This specific message from mod_wsgi indicates that the HTTP client
>>>>>> making the request dropped the connection before the server could write 
>>>>>> the
>>>>>> response.
>>>>>>
>>>>>> So possibly an error is occurring in app.py if that is what is
>>>>>> calling it.
>>>>>>
>>>>>> Have you enabled Flask debug so that errors are shown in the browser
>>>>>> for you. If you don't, Flask will just return a 500 error and may not
>>>>>> actually log anything about the error. You may need to set up Flask 
>>>>>> logging
>>>>>> so that it logs details of exceptions to the error log.
>>>>>>
>>>>>> http://flask.pocoo.org/docs/1.0/logging/#logging
>>>>>>
>>>>>> The other script by itself executes normally but NOT from within my
>>>>>> app.py script.
>>>>>>
>>>>>> Any ideas on how to execute a wsgi app (b) from within a wsgi app(a)
>>>>>> and store the response as html data?
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "modwsgi" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/modwsgi.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "modwsgi" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/modwsgi/lZDr6zKcyUg/unsubscribe.
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> [email protected].
>>>>>> To post to this group, send email to [email protected].
>>>>>> Visit this group at https://groups.google.com/group/modwsgi.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "modwsgi" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/modwsgi.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to a topic in the
>>>>> Google Groups "modwsgi" group.
>>>>> To unsubscribe from this topic, visit
>>>>> https://groups.google.com/d/topic/modwsgi/lZDr6zKcyUg/unsubscribe.
>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>> [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at https://groups.google.com/group/modwsgi.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "modwsgi" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/modwsgi.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "modwsgi" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/modwsgi/lZDr6zKcyUg/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/modwsgi.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "modwsgi" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/modwsgi.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "modwsgi" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/modwsgi/lZDr6zKcyUg/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/modwsgi.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/modwsgi.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "modwsgi" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/modwsgi/lZDr6zKcyUg/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/modwsgi.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "modwsgi" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/modwsgi/lZDr6zKcyUg/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to