html Wert in View übertragen

Django, Flask, Bottle, WSGI, CGI…
Antworten
Susanne
User
Beiträge: 35
Registriert: Dienstag 8. Januar 2013, 19:49

Hallo,

ich habe schon etwas in Python programmiert und bin total begeistert. Allerdings komm ich im mom nicht weiter.
ich will mir eine WebPage mit Datenbankanbindung programmieren.
die unten stehende html Seite erzeugt Buttons. Die Anzahl ist der Buttons entspricht einem select * from. das bedeutet, dass alle Einträge ausgelesen werden und die Buttons danach benannt werden.

es entsteht also eine Seite mit 10 untereinander gesetzte Buttons in meinem Fall mit den Werten von 10 Timestamps
Beipsiel:
Button=1.1.2013
Button=2.1.2013
Button=3.1.2013
...

Code: Alles auswählen

     {% for date in dates %}
		<tr>		
		    <input class="button" type="button" name= "{{ Database.Date }}" 
		</tr>
     {%endfor%}
nun soll es so sein, dass wenn ich den ersten Button drücke mit dem Wert 1.1.2013 eine stored Procedures ausgeführt wird. Dieser Stored Procedures soll ein Wert mitgegeben werden in diesem Fall 1.1.2013 Wenn der 2te Button gedrückt wird soll der Wert 2.1.2013 übergeben werden usw.
siehe View unten:

Code: Alles auswählen

def v_exportXML(request):    
    cursor = connections[DATABASE].cursor()
    try:
        query =""
        query += ' DECLARE	@return_value int'
        query = query + ' SET IMPLICIT_TRANSACTIONS OFF'
        query = "USE XMLDB " + "EXEC [dbo].[sp_makeXML] "+"@path = 'C:\\tmp'" 
        query = query + ' SET IMPLICIT_TRANSACTIONS ON'
        cursor.execute(query)
    finally:
        cursor.close()

    render_dict = {'selected_tab': 'export_serials'}
    response = render_to_response('XML/export_dates.html', render_dict)
    return response
kann mir jemand sagen wie man den Wert (value oder name) eines html Buttons mit auf die View übertragen kann, sodass ich den Wert an meine Stored Procedures übergeben kann
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Welches Framework verwendest du? Django?
Ich frage, weil du eine seltsame Art hast mit der Datenbank zu kommunizieren. Mach das so bitte nicht.
1. Bau keine Zeichenketten mit + zusammen. Schon gar nicht so wie hier gezeigt.
2. Wenn auch noch Variablen dazu kommen, bau die auf keinen Fall mit + dazwischen, sondern informiere dich wie man die Datenbank-API deiner Wahl so benutzt, dass man Variablen übergeben kann.

Wenn du dem Webserver etwas geben willst, musst ihm mit GET oder POST eine Anfrage stellen. Entweder, indem du auf der Seite JavaScript an den Button bindest, oder das ganze in ein Formular einbettest. Das sind also HTML-Grundlagen.
Susanne
User
Beiträge: 35
Registriert: Dienstag 8. Januar 2013, 19:49

brauch in den zwingend ein Formular, oder kann ich die daten auch mit der Post oder Get Methode aus z.B. einem "div" auslesen?
BlackJack

@Susanne: <input> gehört in ein <form> oder zumindest zu einem solchen in dem man das im entsprechenden Attribut angibt. Du solltest Dein HTML vielleicht mal validieren.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo Susanne,

woher soll der <input>-Button wissen, welche Seite er aufrufen soll, da nur
im action-Attribut einer <form> die URL steht.

Zwischen <tr>-Elementen müssen zwingend <td>s bzw. <th>s stehen. Ansonsten
landen Deine Knöpfe nicht in einer Tabelle.
Antworten