python3.6 + django2.0.1+Mysql5.7.21
1、版本
Django==2.0.1
mysqlclient==1.3.12
PyMySQL==0.8.0
mysqlclient和pymysql二选一就行
2、创建项目
django-admin startproject yikeshujuxiaobaicai
cd yikeshujuxiaobaicai
django-admin startapp tablegengxin
在setting.py文件小红添加APP名称
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tablegengxin',
]
3、配置数据库
本文用PyMySQL==0.8.0来配置mysql
1、修改setting.py文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名(你得先在mysql中创建数据库)',
'USER':'mysql用户名(如root)',
'PASSWORD':'密码(如123456789)',
'HOST':'域名(127.0.0.1或localhost)',
'PORT':'端口号(3306)',
}
}
2.model.py中修改
class Custom(models.Model):
name = models.CharField(u'姓名', max_length=256)
telphone = models.CharField(u'手机号码',max_length=256)
pub_date = models.DateTimeField(u'发表时间', auto_now_add=True, editable = True)
update_time = models.DateTimeField(u'更新时间',auto_now=True, null=True)
def __str__(self):
return self.name + self.telphone
3.MySQL创建数据库
这个不多说,创建一个名为tablecustom。
4.根据model类创建数据库表
1、cmd进入django项目路径下
2、Python manage.py migrate #创建表结构,非model类的其他表,django所需要的
3、python manage.py makemigrations app名 #做数据迁移的准备
如:python manage.py makemigrations tablegengxin tablegengxin是我项目中的app名字
4、python manage.py migrate # 执行迁移,创建medel表结构
最终Mysql中会有如下表格。
4、创建其他文件
在tablegengxin文件夹的目录下,创建名为templates的文件夹,用来存放html文件。
1、创建HTML文件:
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="UTF-8">
</head>
<body>
<p>请输入两个数字</p>
<form action="/add/" method="get">
<p>姓名:</p> <input type="text" id="a" name="a"> <br>
<p>手机:</p> <input type="text" id="b" name="b"> <br>
<p>result: <span id='result'></span></p>
<button type="button" id='sum'>提交</button>
</form>
<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#sum").click(function(){
var a = $("#a").val();
var b = $("#b").val();
$.get("/add/",{'a':a,'b':b}, function(ret){
$('#result').html(ret)
})
});
});
</script>
</body>
</html>
2、修改viwes.py
def home(request):
return render(request, 'index.html')
3、修改url.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url
from tablegengxin import views as tablegengxin_views
urlpatterns = [
path('admin/', admin.site.urls),
url(r"^add/$",tablegengxin_views.add,name = 'add'),
url(r'^index/$', tablegengxin_views.home,name = 'home'),
]
4、修改views.py
def add(request):
a = str(request.GET['a'])
b = str(request.GET['b'])
if 1<len(a)<5 and len(b) == 11:
return HttpResponse(str(a+',您好,联系方式已经成功提交,请您耐心等待!'))
else:
return HttpResponse(str('您输入的姓名或手机号不对'))
5、运行测试服务器
python manage.py runserver
打开http://127.0.0.1:8000/index/
分别输入张三,13877885566,点击提交
此时,我们已经把HTML输入的数据传入viwes.py中的a,b变量了。
5、配置django后台
创建用户
python manage.py createsuperuser
输入http://127.0.0.1:8000/admin/
发现我创建的表custom不在。
查看admin.py。修改admin.py
from django.contrib import admin
from .models import *
class CustomAdmin(admin.ModelAdmin):
list_display = ('name','telphone','pub_date','update_time',)
admin.site.register(Custom,CustomAdmin)
custom就显示了。
现在custom是空的。
前端输入数据,custom也不更新。
修改views.py
添加
from tablegengxin.models import Custom
create = Custom.objects.create(name=a, telphone=b)
6、总结
这时候运行测试服务器
打开http://127.0.0.1:8000/index/
打开http://127.0.0.1:8000/admin/
完成了django前端web获取数据,admin管理后台自动收取数据并显示在后台。