黑松山资源网 Design By www.paidiu.com
本文介绍了django实现前后台交互实例,分享给大家,希望对大家有所帮助
准备工作:
前端框架:AngularJS+bootstap
数据库:sqlite3
前端代码:
index.html
<!DOCTYPE html> <html> <head> <link href="/WebApi/scripts/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="/UploadFiles/2021-04-08/angular.min.js">controller.js
var app = angular.module("myApp", []); app.config( function($interpolateProvider) { $interpolateProvider.startSymbol('[['); $interpolateProvider.endSymbol(']]'); }) .config(['$httpProvider', function($httpProvider) { $httpProvider.defaults.xsrfCookieName = 'csrftoken'; $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken'; }]); app.controller("myCtrl", ["$scope", "service", function($scope, service) { $scope.result = ""; $scope.my_submit = function() { console.log($scope.username); console.log($scope.password); service.do_save_info($scope.username, $scope.password, function(response){ console.log(response); $scope.result = response.result; }); }; }]);service.js
app.service("service", ["$http", function($http) { this.do_save_info = function(username, password, callback) { $http({ method: 'POST', url: '/do_save_info', data: { 'username': username, 'password': password }, headers: {'Content-Type': undefined}, }).success(function(response){ callback(response); }); }; }]);后端代码:
urls.py
from django.conf.urls import patterns, include, url urlpatterns = patterns('app.views', url(r'^index$', 'index'), url(r'^/index$', 'index'), url(r'^$', 'index'), url(r'^/$', 'index'), url(r'^do_save_info$', 'do_save_info'), )views.py
from django.shortcuts import render_to_response from django.template import RequestContext from django.http import HttpResponse from django.views.decorators.csrf import ensure_csrf_cookie, csrf_exempt import json import models # Create your views here. @ensure_csrf_cookie def index(request): return render_to_response('static/index.html', context_instance=RequestContext(request)) def do_save_info(request): result = {'result':'save success'} try: data = json.loads(request.body) username = data.get("username", None) password = data.get("password", None) models.do_save_info(username, password) except Exception, e: result['result'] = 'save error' return HttpResponse(json.dumps(result))models.py
#!/bin/python # -*- coding: utf-8 -*- import os import sys import sqlite3 def do_save_info(username, password): db_path = os.path.normpath('/home/zhubao/Code/django_code/hello/db.sqlite3') try: conn = sqlite3.connect(db_path) sql = "insert into t_user(username, password) values('%s', '%s')" % (username, password) conn.execute(sql) conn.commit() conn.close() print 'save success...' except Exception, e: print '------', str(e) try: conn.close() except Exception, e: passt_user表结构:
create table t_user(username varchar(255), password varchar(255));页面演示:
刚打开页面如下:
输入数据,点击保存:
后台查看数据库:
可以看到,已经保存在数据库里面了。
这只是个小示例,在此不考虑页面排版和安全性问题。。。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
黑松山资源网 Design By www.paidiu.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
黑松山资源网 Design By www.paidiu.com
暂无评论...
更新日志
2024年10月09日
2024年10月09日
- 【原神】V5.0攻略 | 林尼攻略一图流
- 李翊君.1993-相思的烈酒【上华】【WAV+CUE】
- 古巨基.1998-LEO.KU(国)【千禧年代】【WAV+CUE】
- 郭子.2001-原来你什么都不想要创作集丫滚石】【WAV+CUE】
- 《使命召唤:黑色行动6》新预告公布!10月25日发售
- Atlus《暗喻幻想》媒体评分汇总:高分好评如潮!
- 2024金摇杆奖提名揭晓 《黑神话》角逐最佳视觉设计!
- 群星《新说唱2024 第3期 (上)》[320K/MP3][32.76MB]
- 群星《新说唱2024 第3期 (上)》[FLAC/分轨][95.38MB]
- 群星《新说唱2024 第3期 (下)》[320K/MP3][31.36MB]
- 幻兽帕鲁手游什么时候正式上线 最新消息一览
- 西普大陆BOSS位置盘点 解锁天启纪元玩法
- 西普大陆精灵进阶培养攻略 精灵养成指南
- dnf手游法控法系职业哪个强 dnf手游法控法系职业强度排行
- 魔兽世界血藤护目镜图纸在哪买 wlk血藤护目镜图纸购买位置介绍