I wanted to share some information with the list here re: my tests of tramline with django.&nbsp; Here&#39;s some information about my setup:<br><br>Front end apache server with patched mod_python proxy-ing a django/mod_python instance on another server.&nbsp; Here&#39;s the relavant tramline 
httpd.conf:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">LoadModule python_module modules/mod_python.so</span><br><span style="font-family: courier new,monospace;"></span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">PythonInputFilter tramline.core::inputfilter TRAMLINE_INPUT</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">PythonOutputFilter tramline.core::outputfilter TRAMLINE_OUTPUT</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">SetInputFilter TRAMLINE_INPUT
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">SetOutputFilter TRAMLINE_OUTPUT</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
PythonOption tramline_path /opt/tramline/var/data</span><br><span style="font-family: courier new,monospace;"></span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"></span>
<span style="font-family: courier new,monospace;">RewriteEngine On<br><br>## serve some static media from this apache server ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">
</span><span style="font-family: courier new,monospace;">RewriteRule&nbsp;&nbsp;&nbsp;&nbsp; ^/static/(.*)&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [L]<br><br>## pass all other requests to django server ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">
RewriteRule&nbsp;&nbsp;&nbsp;&nbsp; ^/(.*)&nbsp; <a href="http://django-server/$1">http://django-server/$1</a> [P,L</span>]<br></div><br><br>Here&#39;s my django model for referencing a tramline file:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">
class TramlineFile(models.Model):</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; name = models.CharField(maxlength=200)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; type = models.ForeignKey(FileType)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; tramline_id = models.CharField
(maxlength=20)</span><br></div><br>Here&#39;s my django &#39;view&#39; code for uploading a file:<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">def upload(request):</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &#39;&#39;&#39;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; Handle file upload</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &#39;&#39;&#39;<br>&nbsp;&nbsp;&nbsp; ## placeholder hack until file types are in db ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp; file_type = FileType.objects.get(pk=1)<br><br>&nbsp;&nbsp;&nbsp; ## save each tramline file object to the db ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; for file in 
request.FILES.values():</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tlf = TramlineFile(name=file[&quot;filename&quot;], type=file_type, tramline_id=file[&quot;content&quot;].strip())
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tlf.save()<br><br>&nbsp;&nbsp;&nbsp; ## build redirect response ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp; response = HttpResponseRedirect(&quot;/files/&quot;)<br><br>&nbsp;&nbsp;&nbsp; ## set special tramline header ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; response[&quot;tramline_ok&quot;] = &quot;True&quot;
<br><br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; return response</span><br></div><br>Here&#39;s my django &#39;view&#39; code for downloading a file:<br><br>
<div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">def get_file(request, file_id):</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &#39;&#39;&#39;
</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; Handle file download</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp; &#39;&#39;&#39;<br><br>&nbsp;&nbsp;&nbsp; ## get tramline file object from db ##<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; file = get_object_or_404(TramlineFile, pk=file_id)
<br><br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; ## placeholder hack until we are can get content-type from the db ##</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; ext = file.name.rsplit(&#39;.&#39;, 1)[-1].lower()</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; if ext in 
EXTS.keys():</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contentType = EXTS[ext]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp; else:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; contentType = &quot;text/plain&quot;<br><br>&nbsp;&nbsp;&nbsp; ## send file id as the response body, and use appropriate content-type ##
<br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; response = HttpResponse(file.tramline_id, contentType)<br><br>&nbsp;&nbsp;&nbsp; ## set header for tramline ##<br style="font-family: courier new,monospace;">
</span><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; response[&quot;tramline_file&quot;] = &quot;True&quot;<br><br style="font-family: courier new,monospace;"></span><span style="font-family: courier new,monospace;">
&nbsp;&nbsp;&nbsp; return response</span><br></div><br><br>Tramline&#39;s performance appears to be very good.&nbsp; I am having trouble, though, with django&#39;s parsing performance of the POST data when uploading very large (600+) numbers of files in one post with jupload (
<a href="http://www.jupload.biz/">http://www.jupload.biz/</a>).&nbsp; (Even with tramline, the size of the request django gets with these large uploads is ~3MB.&nbsp; Part of that could be the extra attributes that jupload sends along with each file as form data.)&nbsp; I&#39;m going to look at handling the raw post data with some custom code and I&#39;ll post my results here.
<br><br>The end result of this so far:&nbsp; Tramline works well with django and was very simple to integrate.<br><br>Also, maybe I missed it, but does tramline include the file size metadata in the post?&nbsp; Is anyone else interested in a patch to provide this if it doesn&#39;t already?
<br><br>Chad<br>