On Sat, Nov 8, 2008 at 3:55 PM, Mike Orr <[EMAIL PROTECTED]> wrote:
>
> On Sat, Nov 8, 2008 at 12:54 PM, Lukasz Szybalski <[EMAIL PROTECTED]> wrote:
>>
>> Hello,
>>
>> What needs to change to add public/ folder in front of anything that is 
>> static.
>>
>> Currently it seems as I need to add
>> Alias /css/ "/path.../"
>> Alias /javascripts/ "/path.../"
>> Alias /images/ "path.../"
>>
>> This gets complicated if I deploy 2 or more apps, then I suddenly need
>> 3x usual number of aliases per each project.
>>
>> I would like to add
>> Alias /public/ "path..tomyapp/public/"
>>
>> And everything in public could be referenced via
>> localhost:8080/public/images/...
>> localhost:8080/public/css/...
>> .....
>> etc..
>>
>> Can pylons template change to so that all public/static files are
>> served through localhost/public/ folder and not via each individual
>> folder?
>>
>> like to get something like this by default:
>> http://localhost:8080/public/images/logo.png
>> http://localhost:8080/public/css/style.css
>
> You can do this by putting a public directory inside your public
> directory.  If Pylons did this by default, people wouldn't be able to
> put static files at the top level, including /robots.txt and
> /favicon.ico which must be at the top level.
>
so i I place favicon.ico and robots.txt inside of public folder right
now they will show up without any changes in:

localhost/robots.txt
localhost/favicon.ico  ??


Another twist.....
Is there a variable in pylons config files that says what the prefix
name is? I would assume currently this variable would be set to:
somevar="/" points to /myapp/public/
and I would be able to change it to:
somevar="/public/" points to /myapp/public/
or
somevar="/public-myapp/" points to /myapp/public/

The reason I'm asking is that robots, favico, etc all are served by
apache. The existing website takes care all of it, and has its own
/images/ folder etc.... so now my modwsgi served app is only
controlling localhost/myapp but still points to /images which causes a
problem. I need to to point to something custom I have defined
localhost/public-myapp/images/ . In the future I would add another
separate app that would run under localhost/mysecondapp with its own
public folder (localhost/public-mysecondapp which I would like to
easily rename to public-mynewapp just by changing the config file
without playing around with adding folders to public or creating
custom functions to server static folders.


Let me know.
Lucas



> You can also use FileApp or DirectoryApp from paste.fileapp to serve a
> static file from any controller.  I've only done it with FileApp.
>
>    def attachment(self, orr_id, entry_id, filename, environ, start_response):
>        """Display an attachment or thumbnail.
>
>        Attachments are in the directory indicated by the "attachments_dir"
>        config option.  A particular attachment will be under the relative
>        path:  orr_id/entry_id/filename .
>
>        Thumbnails are named "FILENAME_thumb200.jpg", and are always JPG.
>
>        TODO: client-side caching.
>        """
>        orr_id = self._int_id(orr_id, "incident ID", 404)
>        entry_id = self._int_id(entry_id, "entry ID", 404)
>        self._REQUIRE_PERM("view_incident", orr_id=orr_id)
>        attachments = config["attachments_dir"]
>        path = Path(attachments, orr_id, entry_id, filename)
>        app = FileApp(path)
>        return app(environ, start_response)
>
> 'orr_id', 'entry_id', and 'filename' are routing variables from the
> URL path.  'environ' and 'start_response' are special arguments you
> can use in any controller action to return a WSGI application from an
> action.  The first two lines verify the first two args are numeric and
> convert them to integers.  The third line checks the user's
> permission.  The fourth line reads the attachments root directory from
> the configuration.  The ffifth line uses Path from the Unipath
> package, which is essentially doing the same thing as os.path.join.
> The sixth line creates a FileApp instance with the absolute path of
> the static file.  The seventh line serves the file.
>
> With DirectoryApp, you can instantiate it with the root directory, but
> then I'm not sure how to pass the relative path when you call it.  It
> reads the relative path from PATH_INFO, but I'm not sure how you get
> just {*url} without the part of the URL that pointed to the action
> without rewriting environ['PATH_INFO'] manually.
>
> --
> Mike Orr <[EMAIL PROTECTED]>
>
> >
>



-- 
Turbogears2 Manual
http://lucasmanual.com/mywiki/TurboGears2
Bazaar and Launchpad
http://lucasmanual.com/mywiki/bzr

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To post to this group, send email to pylons-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to