Ajuda em como Executar script com o Django!

602 views
Skip to first unread message

Vanessa Ferreira

unread,
Sep 26, 2014, 9:43:55 PM9/26/14
to django...@googlegroups.com
Boa Noite pessoal!

Sou inciante no Django... Bem iniciante! E estou fazendo uma pagina web, que o usuario seleciona um arquivo logo após seleciona umas opçoes para este arquivo ser analisado. No momento que ele clica no botão "Executar", executa o aquivo "executar.py".
Só que eu não consegui entender como fazer isto. Como eu declaro na minha views e na minha Url's, pra executar esse script?

Segue abaixo o meu codigo .html


{% extends "index.html" %}
{% block jumbotron %}
<div class="lead">
<div class= "center-text"> <h2><STRONG> Análise </STRONG>  </h2> </div>
 <h> Imagem a ser analisada: </h>

      <form name = "Executar" action= '{% url "project_tool4forme.views.analise" %}' method="POST"> {% csrf_token %}
       <div  class = "procura_dump" > 
        <input type = "file" id = "exampleInputFile" > 
        <p5 class = "help-block" > .dump / .mem ... </p5> 
       </div> 
 
        <div class="so">
     <h> Sistema Operacional </h>
          <select  class= "form-control" > 
          {% for x in sistema %}
              <option> {{x.so_descricao}}</option>
              {% empty %}
              <option> vazio </option> 
              {% endfor %}
         </select>
   </div>

        <div class="Profile">
     <h> Profile: </h>
         <select  class= "form-control" name = "profile" id="profile" value=""> 
            {% for x in profile %}
         <option> {{x.descricao_profile}} </option> 
        {% empty %}
        <option> vazio </option> 
            {% endfor %}
     </select>
   </div>

        <div class="Plugins">
          <h> Plugin: </h>
          <select  class= "form-control" name = "plugin" id="plugin" value=""> 
            {% for x in plugins %}
        <option> {{x.plugins_descricao}} </option> 
        {% empty %}
        <option> vazio </option> 
            {% endfor %}
     </select>
   </div> 
        <p> </p>

     <input class="btn btn-primary" type="submit" value="Executar" />          
      </form> 

E abaixo a minha Views.py

def analise(request):
c = {}
c.update(csrf(request))
if request.method == 'POST':
execfile('executar.py')
    return render (request, 'analise.html', c, {})

Eu acho que esta faltando coisa, mas não consegui entender o que!

Procurei muito na Internet, mas o que tem é bem específico, e fiz meus testes mas não funcionou!

Se alguém puder me ajudar, fico muuuuito grata!

Valeu!

Att,
Vanessa

Leonardo C. Santos

unread,
Sep 29, 2014, 10:36:46 AM9/29/14
to django...@googlegroups.com
Em vez de "executar" o arquivo execfile('executar.py'), crie um função dentro dele para fazer todo o teu processamento, importe essa função na views.py e só chamar ela na tua view analise. Vai ficar algo como:

# Arquivo executar.py

def funcao():
    # faz algo!

# Arquivo views.py

from executar import funcao

def analise(request):
c = {}
c.update(csrf(request))
if request.method == 'POST':
funcao()
    return render (request, 'analise.html', c, {})


-
Leonardo C. Santos
Prof. Ciência da Computação na UEPB - Campus VII
Prof. Sistemas de Informação na FIP
Desenvolvedor Python/Django no Curso Radix

--
Você recebeu essa mensagem porque está inscrito no grupo "Django Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para django-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages