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>. -- 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/D0AFBB59-5120-4B06-8D38-7B16D86063D0%400x58.com.
