Further reading, from the sidebar in the Traversal chapter, "The
Example View Callables Accept Only a Request; How Do I Access
the Context Resource?":
https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/traversal.html
In view callables that accept only a request, the context
resource found by
traversal is available as the context attribute of the
request object,
e.g., ``request.context``.
That chapter is gold for all things traversal, including
twenty-seven eight-by-ten color glossy pictures with the circles
and arrows and the paragraph on the back of each one.
--steve
On 4/22/20 at 9:27 PM, [email protected] (Bert JW Regeer) pronounced:
Pass the current context. It should have lineage and thus know
how to get to where you are right now.
request.resource_url(request.context, '@@create')
Bert JW Regeer
On Apr 22, 2020, at 14:05, Sydo Luciani <[email protected]> wrote:
Back to my original post, fixed the problem with stripping leading slash in
request.path
in jinja template:
{% set stripped_path = request.path | replace("/", "", 1) %}
And then passed stripped_path to request.resource_url:
href="{{ request.resource_url(request.root, stripped_path, '@@create') }} ">
Please let me know if there is more elegant(Pyramid) way solution.
On Wednesday, 22 April 2020 11:01:22 UTC-5, Sydo Luciani wrote:
Application is using hybrid of traversal and URL dispatch.
Here is the code:
https://github.com/SystematicD/pyramid_wikiz/blob/master/__init__.py#L33
<https://github.com/SystematicD/pyramid_wikiz/blob/master/__init__.py#L33>
currently application working fine, but using session to save
and passing around the coming_from_url or next_url is
problematic in browsing application in multi tabs.
here is the code that needs to be changed.
https://github.com/SystematicD/pyramid_wikiz/blob/master/templates/top_nav_bar.jinja2#L34
<https://github.com/SystematicD/pyramid_wikiz/blob/master/templates/top_nav_bar.jinja2#L34>
With appending the @@create to the end of full url, then
traversed url always stay the same after clicking on create
button and no need to save the url in session.
Checking document for generating hybrid:
https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/hybrid.html#generating-
hybrid-urls
<https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/hybrid.html#generating-
hybrid-urls>
it is not clear how to generate the current application full url.
Thanks
On Wednesday, 22 April 2020 06:39:46 UTC-5, Steve Piercy wrote:
Are you using traversal or URL dispatch?
It seems that you don't want to pass in a `resource` as the
first argument to `resource_url`, so perhaps you want to use
https://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.
Request.route_url
<https://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request
.Request.route_url>
?
--steve
On 4/22/20 at 2:18 AM, [email protected] <> (Sydo Luciani) pronounced:
root + path be the resource but passing request.url as
resource throws error: href="{{
request.resource_url(request.url , '@@create') }}">
path = [loc.__name__ or '' for loc in lineage(resource)]
AttributeError: 'str' object has no attribute '__name__'
On Wednesday, 22 April 2020 04:11:00 UTC-5, Sydo Luciani wrote:
tried href="{{ request.resource_url(request.url ,
'@@create') }}"> but didn't work and got below error: path =
[loc.__name__ or '' for loc in lineage(resource)]
AttributeError: 'str' object has no attribute '__name__'
Then tried href="{{ request.resource_url(request.root,
request.path , '@@create') }}"> that I got double slash
problem. Need to generate full URL and then append
@@create. root, request.path , '@@create') }}"> On
Wednesday, 22 April 2020 02:42:44 UTC-5, Sydo Luciani wrote:
This code: href="{{ request.resource_url(request.root,
request.path , '@@create') }}"> Generates below URL: https://domain_name.com:6543/%2FDir_1%2FDir_2/@@create
<https://domain_name.com:6543/%2FDir_1%2FDir_2/@@create>
<https://systematicd.com:6543/%2Fwiki%2FDir_2/@@create <https://systematicd.com:6543/%2Fwiki%2FDir_2/@@create>>
After domain_name:port, there is a '/' and a '%2F'
which represents another '/'. double slashes after
domain name, causing problem in finding the right view
and the result is "page not found". Is there a workaround
this problem ? Thanks
------------------------ Steve Piercy, Eugene, OR
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
[email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/pylons-discuss/59678cc3-6d83-41f7-85b6-fe77bbe081f5%
40googlegroups.com
<https://groups.google.com/d/msgid/pylons-discuss/59678cc3-6d83-41f7-85b6-fe77bbe081f5%
40googlegroups.com?utm_medium=email&utm_source=footer>.
------------------------
Steve Piercy, Eugene, OR
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/pylons-discuss/r480Ps-10126i-CE4A3975A93442529D677B2A93F98E82%40Steves-iMac.local.