1.在manage.py@djangotest中输入命令:

  1.startapp   realnameauth   ---新建一个app,名字为realnameauth

2.在 django 项目中的settings.py文件中配置应用:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'realnameauth ' //新建的app名字 ]

3.把 realnameauth 应用要用到的html页面放到django项目中的templates文件下,命名为realnameauth_form.html

<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>real-name-auth json</title>
<link rel="stylesheet" href="/static/css/style.css"> </head>
<body>
<form action="{% url 'go_realnameauth' %}" method="post" class="smart-green">
<div id="box">
<br/>
mid: <input id="mid" name="mid" type="text"/>
<br/><br/>
authKey: <input id="authKey" name="authKey" type="text"/>
<br/><br/>
reqId: <input id="reqId" name="reqId" type="text"/> <br/><br/>
verifyType: <input id="verifyType" name="verifyType" type="text"/>
<br/><br/>
params:
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>idNo: <input id="idNo" name="idNo" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>name: <input id="name" name="name" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>bcNo: <input id="verify-bcNo" name="verify-bcNo" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>mobile: <input id="mobile" name="mobile" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>isHandheld: <input id="isHandheld" name="isHandheld" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>realImg: <input id="realImg" name="realImg" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>gender: <input id="gender" name="gender" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>nation: <input id="nation" name="nation" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>birthday: <input id="birthday" name="birthday" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>address: <input id="address" name="address" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>issuingAuthority: <input id="issuingAuthority" name="issuingAuthority" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>validDate: <input id="validDate" name="validDate" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>expireDate: <input id="expireDate" name="expireDate" type="text"/>
<br/><br/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;</span>checkValidityPeriod: <input id="checkValidityPeriod" name="checkValidityPeriod" type="text"/> <br/><br/>
<br/><br/>
idImgSide: <input id="idImgSide" name="idImgSide" type="text"/>
<br/><br/>
idImg: <input id="idImg" name="idImg" type="text"/>
<br/><br/>
bcNo: <input id="attr-bcNo" name="attr-bcNo" type="text"/>
</div>
<label>
<span>&nbsp;</span>
<input type="submit" class="button" value="提交"/>
</label>
{% csrf_token %} <!--保证form表提交,是一种安全机制-->
</form>
</body>
</html>

4.在 django 项目中的static/css/style.css,用于配置htm页面显示的样式:

        .smart-green {
margin-left: auto;
margin-right: auto;
max-width: 500px;
background: #F8F8F8;
padding: 30px 30px 20px 30px;
font: 12px Arial, Helvetica, sans-serif;
color: #;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
} .smart-green h1 {
font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
padding: 20px 0px 20px 40px;
display: block;
margin: -30px -30px 10px -30px;
color: #FFF;
background: #9DC45F;
text-shadow: 1px 1px 1px #;
border-radius: 5px 5px 0px 0px;
-webkit-border-radius: 5px 5px 0px 0px;
-moz-border-radius: 5px 5px 0px 0px;
border-bottom: 1px solid #89AF4C;
} .smart-green h1 > span {
display: block;
font-size: 11px;
color: #FFF;
} .smart-green label {
display: block;
margin: 0px 0px 5px;
} .smart-green label > span {
float: left;
margin-top: 10px;
color: #5E5E5E;
} .smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {
color: #;
height: 30px;
line-height: 15px;
width: %;
padding: 0px 0px 0px 10px;
margin-top: 2px;
border: 1px solid #E5E5E5;
background: #FBFBFB;
outline: ;
-webkit-box-shadow: inset 1px 1px 2px rgba(, , , 0.2);
box-shadow: inset 1px 1px 2px rgba(, , , 0.2);
font: normal 14px/14px Arial, Helvetica, sans-serif;
} .smart-green textarea {
height: 100px;
padding-top: 10px;
} .smart-green .button {
background-color: #9DC45F;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-border-radius: 5px;
border: none;
padding: 10px 25px 10px 25px;
color: #FFF;
text-shadow: 1px 1px 1px #;
} .smart-green .button:hover {
background-color: #80A24A;
} .error-msg{
color: red;
margin-top: 10px;
}
.success-msg{
color: #80A24A;
margin-top: 10px;
margin-bottom: 10px;
}

5.在 django 项目中的settings.py文件中配置静态文件调用路径:

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]

6.在realnameauth文件夹下的views.py,用于显示html页面:

from django.shortcuts import render

from .models import FieldMessages
# Create your views here.
def InsertData(request):
#添加数据
if request.method == "POST":
mid = request.POST.get('mid','')
authKey = request.POST.get('authKey','')
reqId = request.POST.get('reqId','')
verifyType = request.POST.get('verifyType','')
params_idNo = request.POST.get('idNo','')
params_name = request.POST.get('name','')
params_bcNo = request.POST.get('verify-bcNo','')
params_mobile = request.POST.get('mobile','')
params_isHandheld = request.POST.get('isHandheld','')
params_realImg = request.POST.get('realImg','')
params_gender = request.POST.get('gender','')
params_nation = request.POST.get('nation','')
params_birthday = request.POST.get('birthday','')
params_address = request.POST.get('address','')
params_issuingAuthority = request.POST.get('issuingAuthority','')
params_validDate = request.POST.get('validDate','')
params_expireDate = request.POST.get('expireDate','')
params_checkValidityPeriod = request.POST.get('checkValidityPeriod','')
idImgSide = request.POST.get('idImgSide','')
idImg = request.POST.get('idImg','')
bcNo = request.POST.get('attr-bcNo','') field_messages = FieldMessages()
field_messages.mid = mid
field_messages.authKey = authKey
field_messages.reqId = reqId
field_messages.verifyType = verifyType
field_messages.params_idNo = params_idNo
field_messages.params_name = params_name
field_messages.params_bcNo = params_bcNo
field_messages.params_mobile = params_mobile
field_messages.params_isHandheld = params_isHandheld
field_messages.params_realImg = params_realImg
field_messages.params_gender = params_gender
field_messages.params_nation = params_nation
field_messages.params_birthday = params_birthday
field_messages.params_address = params_address
field_messages.params_issuingAuthority = params_issuingAuthority
field_messages.params_validDate = params_validDate
field_messages.params_expireDate = params_expireDate
field_messages.params_checkValidityPeriod = params_checkValidityPeriod
field_messages.idImgSide = idImgSide
field_messages.idImg = idImg
field_messages.bcNo = bcNo
field_messages.save()
return render(request, 'realnameauth_form.html')


7.在django 项目中的urls.py配置url:

"""djangotest URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path from message.views import getform
from realnameauth.views import InsertData #导入realnameauth的InsertData方法 from realnameauth.views import ReadData #导入realnameauth的ReadData方法 urlpatterns = [
# path('admin/', admin.site.urls),
path('form/',getform, name='go_form'),
path('realnameauth/',InsertData, name='go_realnameauth'), #realnameauth配置路径
path('realnameauth_read/', ReadData, name='go_realnameauth_read') # realnameauthread配置路径
]
 

8.在realnameauth文件夹下的models.py写入models类,来对数据库进行操作:

from django.db import models

# Create your models here.
class FieldMessages(models.Model):
mid = models.CharField(max_length=, verbose_name=u"传入平台分配的商户id")
authKey = models.TextField(verbose_name=u"应用签名信息")
reqId = models.CharField(max_length=, verbose_name=u"唯一请求流水号")
verifyType = models.CharField(max_length=, verbose_name=u"身份验证类型")
params_idNo = models.CharField(max_length=, verbose_name=u"公民身份证号")
params_name = models.CharField(max_length=, verbose_name=u"姓名")
params_bcNo = models.CharField(max_length=, verbose_name=u"银行卡号")
params_mobile = models.CharField(max_length=, verbose_name=u"手机号码")
params_isHandheld = models.CharField(max_length=, verbose_name=u"是否为手持身份证照片")
params_realImg = models.TextField(verbose_name=u"真实照片转换为base64格式。base64(原始图片二进制流)。")
params_gender = models.CharField(max_length=, verbose_name=u"")
params_nation = models.CharField(max_length=, verbose_name=u"")
params_birthday = models.CharField(max_length=, verbose_name=u"")
params_address = models.CharField(max_length=, verbose_name=u"")
params_issuingAuthority = models.CharField(max_length=, verbose_name=u"")
params_validDate = models.CharField(max_length=, verbose_name=u"")
params_expireDate = models.CharField(max_length=, verbose_name=u"")
params_checkValidityPeriod = models.CharField(max_length=, verbose_name=u"是否验证身份证有效期")
idImgSide = models.TextField(verbose_name=u"身份证图片正反面")
idImg = models.TextField(verbose_name=u"身份证图片数据")
bcNo = models.CharField(max_length=, verbose_name=u"银行卡号") class Meta:
verbose_name = "实名认证"

9.运行Task命令:

  1.makemigrations realnameauth   ---预建表

  2.migrate realnameauth   ---把表提交到数据库

pyCharm django 中新加app的更多相关文章

  1. UWP中新加的数据绑定方式x:Bind分析总结

    UWP中新加的数据绑定方式x:Bind分析总结 0x00 UWP中的x:Bind 由之前有过WPF开发经验,所以在学习UWP的时候直接省略了XAML.数据绑定等几个看着十分眼熟的主题.学习过程中倒是也 ...

  2. Django中CSS加载background url('')问题

    Django中CSS加载background url('')问题   在django中, 默认CSS中如果有 background url('images/a.jpg') 这类的属性,会被django ...

  3. django中多个app放入同一文件夹apps

    开发IDE:pycharm 新建一个apps文件夹 需要整理的app文件夹拖到同一个文件夹中,即apps.(弹出对话框,取消勾选Search for references) 在pycharm 中,右键 ...

  4. django中多个app放入同一文件apps

    新建一个apps文件夹 需要整理的app文件夹拖到同一个文件夹中,即apps.(弹出对话框,取消勾选Search for references) 在pycharm中,右键apps文件夹--选择mark ...

  5. django中CBV加csrf_exempt函数问题

    CSRF Token相关装饰器在CBV只能加到dispatch方法上 备注: 1. csrf_protect,为当前函数强制设置防跨站请求伪造功能,即便settings中没有设置全局中间件. 2. c ...

  6. django中url,静态文件,POST请求的配置 分类: Python 2015-06-01 17:00 789人阅读 评论(0) 收藏

    平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面 ...

  7. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps  Office新的App模型         Office 2 ...

  8. Django中的app及mysql数据库篇(ORM操作)

    Django常见命令 在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目.启动Django程序.创建新的APP.数据库迁移等. 创建Django项目 一把我们都 ...

  9. Django中的Project和App的区别

    Django是一个非常流行的用python编写的Web框架,在使用Django之前,我们需要了解一些基本的概念,这样可以在使用Django的时候对其有一个更加深入的把握.本文主要介绍Django中两个 ...

随机推荐

  1. linux top指令信息表示

    top指令: PID ====  进程号 USER ==== 进程所有者 PR ====  进程优先级 NI ====  进程优先级别数值 VIRT ==== 进程占用的虚拟内存 RES ====   ...

  2. TP5.0 Redis(单例模式)(原)

    看到好多面试都问设计模式,我就简单的了解了一下,顺便把之前封装好的Reis做了一次修改. 单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行 ...

  3. C语言按位运算符

    C语言按位运算符 二进制反码或按位取反:~ 一元运算符~是逐位将1变为0,0变为1 Eg:  ~(1001 1010) Result:(0110 0101) 按位与:& 二元运算符&是 ...

  4. 常用算法的python实现

    1.乘法表 #! -*- coding:utf-8 -*- for i in range(1,10): for j in range(1,i+1): print('%d*%d=%d\t' % (i, ...

  5. react中的传参方式

    react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...

  6. 《程序设计入门——C语言》翁恺老师 第四周编程练习记录

    1 奇偶个数(5分) 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式: 一系列正整数,整数的范围是(0,1 ...

  7. Saiku Table展示数据合并bug修复(二十五)

    Saiku Table展示数据合并bug修复 Saiku以table的形式展示数据,如果点击了 非空的字段 按钮,则会自动进行数据合并,为空的数据行以及数据列都会自动隐藏掉. 首先我们应该定位问题: ...

  8. Spring Cloud各个组件的配套使用

    我们从整体上来看一下Spring Cloud各个组件如何来配套使用:  从上图可以看出Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构. 其中Eureka负责服务的注册与发现, ...

  9. 一个C++右值引用的问题

    暂时先不更新前一篇文章了,感觉那个文章要写好久.累死. 今天说一说C++右值引用的一个问题. 这个问题的发现也是很偶然的. 来一段毫无意义但是能证明问题的代码: std::string &&a ...

  10. linux下anaconda和keras配置过程

    连接服务器,使用ssh协议. 下载anaconda bash Anaconda3-5.1.0-Linux-x86_64.sh(安装过程需要输入yes来添加环境变量,需要输入一次安装路径.) 因为环境变 ...