Jquery ajax csrf framework for Django

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
//javascript

// Django CSRF framework
$(document).ajaxSend(function(event, xhr, settings) {
    function getCookie(name) {
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
    function sameOrigin(url) {
        // url could be relative or scheme relative or absolute
        var host = document.location.host; // host + port
        var protocol = document.location.protocol;
        var sr_origin = '//' + host;
        var origin = protocol + sr_origin;
        // Allow absolute or scheme relative URLs to same origin
        return (url == origin || url.slice(0, origin.length + 1) == origin + '/') ||
            (url == sr_origin || url.slice(0, sr_origin.length + 1) == sr_origin + '/') ||
            // or any other URL that isn't scheme relative or absolute i.e relative.
            !(/^(\/\/|http:|https:).*/.test(url));
    }
    function safeMethod(method) {
        return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
    }

    if (!safeMethod(settings.type) && sameOrigin(settings.url)) {
        xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
    }
});


		function lookup()
		{
			var cust_id = $('#customer_id').val();
			
			$.ajax('/json/?act=lookup', {type: 'POST', data: {
				customer_id: cust_id
			}, dataType: 'json'})
			.done(function(data) {
				//alert(data);
				if (data.success) {
					$('input[name=customer_name]').val(data.customer_name);
					$('input[name=customer_address]').val(data.address);
					$('input[name=customer_city]').val(data.city);
					$('input[name=customer_state]').val(data.state);
					$('input[name=customer_zip]').val(data.zip);
					$('input[name=customer_contact_name]').val(data.contact_name);
				}
			})
			.fail(function() { console.log("lookup error"); });
		}
		
//template	
//When the user leaves the field containing a lookup value it is looked up in database and fills other form fields automatically

<div class="customer_information">
    <span>Customer Information</span>
    <div class="formrow"> 
        <div class="formbox"> 
            <label>Customer Name</label> 
            <input type="text" name="customer_name" maxlength="255" />
        </div> 
    </div> 
    <div class="formrow"> 
        <div class="formbox"> 
            <label>Address</label> 
            <input type="text" name="customer_address" maxlength="255" /> 
        </div> 
    </div> 
    <div class="formrow"> 
        <div class="formbox formboxcity"> 
            <label>City</label> 
            <input type="text" name="customer_city" maxlength="255" /> 
        </div> 
        <div class="formbox formboxstate"> 
            <label>State</label> 
            <input type="text" name="customer_state" maxlength="255" />
        </div> 
        <div class="formbox formboxzip"> 
            <label>ZIP</label> 
            <input type="text" name="customer_zip" maxlength="255" /> 
        </div>
    </div> 
    <div class="formrow">
        <div class="formbox formboxhalf">
            <label>Customer ID#</label>
            <input onblur="Lookup()" type="text" id="customer_id" name="customer_id" maxlength="255" />
        </div>
        <div class="formbox formboxhalf">
            <label>Contact Name</label>
            <input type="text" name="customer_contact_name" maxlength="255" />
        </div>
    </div>
</div>

//urls.py

(r'^json/$', json)

//views.py

from django.http import HttpResponse
from django.shortcuts import render_to_response
from django.template.context import RequestContext

from myapp.models import customer

from django.core.serializers import serialize
from django.utils.simplejson import dumps, loads, JSONEncoder
from django.db.models.query import QuerySet

#extend simplejson to allow serializing django queryset objects directly
class DjangoJSONEncoder(JSONEncoder):
    def default(self, obj):
        if isinstance(obj, QuerySet):
            return loads(serialize('json', obj))
        return JSONEncoder.default(self, obj)

def json(request):

    if 'act' in request.GET:
        act = request.GET['act']

        if act == 'lookup':

            if 'customer_id' in request.POST:

                customer_id = request.POST['customer_id']
                customer_id = int(customer_id)
                
                try:
                    BP = customer.objects.get(cust_id_number=customer_id)
                    
                    success = 'record found'
            
                    cust_id_number = BP.cust_id_number
                    cust_customer_name = BP.cust_customer_name
                    cust_address = BP.cust_address
                    cust_city = BP.cust_city
                    cust_state = BP.cust_state
                    cust_zip = BP.cust_zip
                    cust_contact_name = BP.cust_contact_name
        
                    json_dict = {
                                 'success': success,
                                 'id_number': cust_id_number,
                                 'customer_name': cust_customer_name,
                                 'address': cust_address,
                                 'city': cust_city,
                                 'state': cust_state,
                                 'zip': cust_zip,
                                 'contact_name': cust_contact_name
                                 }
                    
                    json = dumps(json_dict, cls=DjangoJSONEncoder) #cls = helper
        
                    return HttpResponse(json)

More like this

  1. ajax_validator generic view by amitu 4 years, 7 months ago
  2. testdata tag for templates by showell 4 years ago
  3. Manual CSRF check for Django Facebook canvas applications by krvss 1 year, 8 months ago
  4. Complex Formsets, Redux by smagala 3 years, 2 months ago
  5. YUI Autocomplete by pigletto 5 years, 8 months ago

Comments

siblek31 (on April 13, 2013):

Konsep "bidang kesehatan", cara cepat hamil yang berbeda dari perawatan medis, muncul dari laporan Lalonde dari Kanada. Laporan tersebut soal ulangan sd mengidentifikasi tiga bidang interdependen sebagai penentu utama kesehatan individu. Ini adalah: [10]

 Gaya hidup: agregasi keputusan [belajar bahasa inggris](http://www.facebook.com/belajarbahasaingriscepatdanmudah "belajar bahasa inggris") pribadi (yaitu, di mana individu memiliki kontrol) yang bisa dikatakan untuk berkontribusi, atau menyebabkan, penyakit atau kematian;
 Lingkungan: semua hal yang berkaitan dengan kesehatan luar tubuh manusia dan di mana individu memiliki kontrol sedikit atau tidak;
 Biomedis: semua aspek kesehatan, fisik dan mental, yang dikembangkan dalam tubuh manusia yang dipengaruhi [kursus teknisi komputer](http://www.dimanalagi.com/2012/12/ebook-panduan-belajar-teknisi-komputer.html "kursus teknisi komputer") oleh genetik make-up.

Pemeliharaan dan promosi kesehatan dicapai melalui kombinasi yang berbeda dari fisik, mental, dan kesejahteraan sosial, bersama-sama kadang-kadang disebut sebagai "segitiga kesehatan" [13] [14] WHO 1986 Ottawa Charter untuk Promosi Kesehatan lebih lanjut menyatakan. Bahwa kesehatan bukan hanya negara, click here tetapi juga "sumber daya bagi kehidupan sehari-hari, bukan tujuan dari kehidupan. kesehatan adalah konsep yang positif menekankan sumber daya sosial dan pribadi, serta kemampuan fisik." [15]

Lebih memfokuskan cara mendapatkan uang dari internet pada isu-isu gaya hidup dan hubungan mereka dengan kesehatan fungsional, data dari County Alameda Studi menunjukkan bahwa orang dapat meningkatkan kesehatan mereka melalui latihan, tidur yang cukup, menjaga berat kursus bahasa inggris online badan yang sehat, membatasi penggunaan alkohol, dan menghindari merokok [16] Kemampuan. untuk beradaptasi dan mengelola diri telah diusulkan sebagai komponen inti dari kesehatan manusia. [17]

#

(Forgotten your password?)