Webinterface for python script

47 views
Skip to first unread message

Asad

unread,
Feb 3, 2019, 3:53:20 PM2/3/19
to django...@googlegroups.com
Hi All ,

          I have created certain python scripts to analyze log files and suggest solution based on logic which I invoke on the command line . I need some information on how to execute these through browser . I am using :

python test.py file1 file2 

How do I use the browser to upload the files file1 and file2 and it process the files .

Please advice ,

Thanks, 

Derek

unread,
Feb 4, 2019, 6:22:27 PM2/4/19
to Django users
Django could be overkill for his.  Try using Flask e.g.

Scot Hacker

unread,
Feb 5, 2019, 7:54:19 AM2/5/19
to Django users
Make a basic Django view. Place your script in a python module that lives inside your app. Call that module/ function from the Django view. See Django docs and tutorials on how to handle uploaded files. Pass the uploaded file to your module, and handle the return value(s) however you want. Hard to get more specific than that without seeing your code, but this should come together pretty quickly with some experimentation.

I never know what people mean by "Django is overkill for...". Django is lightweight and starts up very quickly, even with large/complex projects. Django saves you mountains of time compared to Flask, which makes you go shopping for every little piece of framework you need. Every time I've experimented with Flask, I've come running back to Django after realizing my time is too valuable to waste it on creating my own framework when a perfectly great one already exists. 

./s

Joel Mathew

unread,
Feb 5, 2019, 8:25:09 AM2/5/19
to django...@googlegroups.com
Exactly. I to use file upload and rendering in a medical report.

@OP Did your research and post your code. Can help with any errors you're getting.

Research about request.POST, request.FILES. Read this. https://docs.djangoproject.com/en/2.1/topics/files/

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/88c2337b-7e8a-4e11-968f-30299b6229d4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

PASCUAL Eric

unread,
Feb 5, 2019, 9:04:45 AM2/5/19
to django...@googlegroups.com
Hi,
I never know what people mean by "Django is overkill for...". Django is lightweight and starts up very quickly
You're right WRT the Django technical part. 

My feeling is that people implicitly refer to the learning curve, because it's the visible part. Django is a very capable framework with batteries included, but its documentation is largely ORM-centric (which is logical because of its  motivations) in addition to being quite voluminous (which is a good point, since it covers every tiny bit of  the beast). This can be intimidating when people are looking for something very basic which does not require the ORM. 

I was among these people until my experience and skills in Django reached the level where I became aware that it can be stripped down to a very basic an lightweight framework if needed, thanks to its modular approach. But this came with time 😉

Best

Eric

From: django...@googlegroups.com <django...@googlegroups.com> on behalf of Scot Hacker <scot....@gmail.com>
Sent: Tuesday, February 5, 2019 08:54
To: Django users
Subject: Re: Webinterface for python script
 

Derek

unread,
Feb 5, 2019, 1:26:34 PM2/5/19
to Django users
Hi Eric

Of course I also think Django is great ... but I have never seen anyone refer to it as a "lightweight" project (before you, that is).

My use of the word "overkill" was in the context of what how the OP described his need.  If he said he wanted to upload data from a spreadsheet and store in a DB, then I would offered advice how to do that with Django.

But its a mistake to think that "Python" + "data processing" automatically equals Django.

My 2c
Derek
To post to this group, send email to djang...@googlegroups.com.

Scot Hacker

unread,
Feb 6, 2019, 6:59:31 AM2/6/19
to Django users
If I were just starting out, and needed to learn how to handle uploaded files, google would take me to these two docs:


Maybe I'm crazy or my perspective is skewed, but I think I would find the Django instructions easier to follow, and I would have my solution faster.  In other words, I don't buy the "Flask is easier to get started with" argument (OK maybe for a few very primitive use cases). 

So... 

"Flask is lightweight." What does that mean? It starts up in 1 second rather than 2 seconds? Why would that be important to me? 

"Flask is easier to learn." Definitely not, as far as I can see. Because Django includes everything you need for common use cases, the path to success is almost always easier with Django. 

If I were teaching a class of people new to programming, I would choose Django over Flask for its ease of use. And as a developer, there's no web project so small that I would choose Flask over Django - just not worth the additional time investment and hassle that Flask requires. 

My .02 anyway.

./s

PASCUAL Eric

unread,
Feb 6, 2019, 9:27:18 AM2/6/19
to django...@googlegroups.com
Hi Derek,
but I have never seen anyone refer to it as a "lightweight" project (before you, that is).
I didn't meant "Django is lightweight" but "Django can be lightweight", implied you configure it accordingly.

Of course, leaving in place the ORM, the session management, the authentication system, the various protections (CORS, CRSF,...) and all the other middlewares configured in the default settings can seem overkill if the need boils down to a basic HTML form for uploading some file and used on a local network. But even if you leave them in place, is it really a problem ? They will be there, but their code will not kick in. So why bother ? Maybe some code will still be activated without a real need, but the overhead is ridiculous in front of the network time, especially if file upload is involved. The problem described by the OP does not seem to be related to a heavy traffic commercial app. So who cares with these extra unneeded code being executed ? What really matters is : "will the job be done ?".  

Having used myself several frameworks (starting from Tornado down to Bottle and including Flask to name a few) in real world projects, when coming to writing the views (or request handlers, route functions,... depending on the FW terminology) I never felt that one of them was simpler or lighter than the others on that point, or even superior.

I agree that what could be added in Django documentation is a section explaining how to strip its default application setting down to the minimal stuff for equating solutions such as Flask, Tornado et al. Maybe it could also help having the project creation tool include options to select among different scenarios (default like the current one, minimal Web app without ORM,...). Newcomers could then adopt Django for their basic projects without fearing about this lightweight-ness issue, but being confident that they will be able to kick in other features (e.g. the ORM, which is the big chunk of Django, probably at the origin of the lightweight-ness question) as their future projects will require. The net benefit is that they will not have to switch from one FW to another one depending on the project, which means investing in several learning curves, being able to switch between their respective paradigms... and fixing errors coming from confusing things belonging to the different FW they work with 😊 

Just my $0.2 😉

Best

Eric

From: django...@googlegroups.com <django...@googlegroups.com> on behalf of Derek <game...@gmail.com>
Sent: Tuesday, February 5, 2019 14:26
To post to this group, send email to django...@googlegroups.com.

Scot Hacker

unread,
Feb 7, 2019, 8:16:41 AM2/7/19
to Django users


On Wednesday, February 6, 2019 at 1:27:18 AM UTC-8, Eric Pascual wrote:
Hi Derek,
but I have never seen anyone refer to it as a "lightweight" project (before you, that is).
I didn't meant "Django is lightweight" but "Django can be lightweight", implied you configure it accordingly.

To be clear, I'm talking about stock Django. Out of the box, Django is already lightweight for all practical intents and purposes. I've *never* encountered a problem with startup time, memory usage, or speed due to Django itself. I don't need to remove the ORM or tweak the template layer or anything else. Out of the box, Django is already fast. Therefore, I cannot seem to find a use case that makes Flask worth all of the additional dev time that it requires worth it. 


> What really matters is : "will the job be done ?". 


Yep. And quickly. In execution time, there is no metric I care about where "Flask wins" but in development time, stock Django is way ahead of Flask.

I agree that what could be added in Django documentation is a section explaining how to strip its default application setting down to the minimal stuff for equating solutions such as Flask,

No need. Django doesn't need to be stripped down - it's already plenty fast for virtually every web project. Even the smallest ones. But as small projects grow into large/complex ones, Django has your back while Flask does not. 

./s
 

PASCUAL Eric

unread,
Feb 7, 2019, 9:36:03 AM2/7/19
to django...@googlegroups.com
Hi Scott,

100% agree with all your points about stock Django. This is BTW the way I use it in all my projects. The stripping experiment I mentioned has been done for curiosity's sake, for diving a bit into customization if ever I would need it some day.

Knowing this, my suggestion about providing indications about how to shrink Djagon's footprint is more aimed at reassuring people having doubts about Django being suited to their project because looking as "too heavy", by showing them that it can be slimmed down if wanted (needed ?).

Best

Eric


Sent: Thursday, February 7, 2019 09:16

To: Django users
Subject: Re: Webinterface for python script

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
Reply all
Reply to author
Forward
0 new messages