Django前端HTML输入表单,后台Admin自动更新输入内容,并在admin后台显示

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
image.png
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)',
  }
}
image.png

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所需要的

image.png

3、python manage.py makemigrations app名 #做数据迁移的准备
如:python manage.py makemigrations tablegengxin tablegengxin是我项目中的app名字
image.png

4、python manage.py migrate # 执行迁移,创建medel表结构

最终Mysql中会有如下表格。


image.png

4、创建其他文件

在tablegengxin文件夹的目录下,创建名为templates的文件夹,用来存放html文件。

1、创建HTML文件:



    
        
    
    
    

请输入两个数字

姓名:


手机:


result:

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

5、运行测试服务器

python manage.py runserver

打开http://127.0.0.1:8000/index/

image.png

分别输入张三,13877885566,点击提交


此时,我们已经把HTML输入的数据传入viwes.py中的a,b变量了。

5、配置django后台

创建用户

python manage.py createsuperuser
image.png

输入http://127.0.0.1:8000/admin/

image.png

发现我创建的表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是空的。


image.png

前端输入数据,custom也不更新。

修改views.py
添加

from tablegengxin.models import Custom
create = Custom.objects.create(name=a, telphone=b)
image.png

6、总结

这时候运行测试服务器
打开http://127.0.0.1:8000/index/
打开http://127.0.0.1:8000/admin/

1.gif

完成了django前端web获取数据,admin管理后台自动收取数据并显示在后台。

你可能感兴趣的:(Django前端HTML输入表单,后台Admin自动更新输入内容,并在admin后台显示)