准备开发环境
提前准备好python(本机:3.7.4),pip等组件(略)。
1.下载并安装mycharm
2.下载并安装django框架,操作步骤为:file-->settings-->project(python interpreter),查看右侧是否有django框架,若没有则新增:
新增页面:
完成后即可。项目完整目录如下:
一:输出普通页面
在djangoweb项目的views.py页面添加如下代码:
from django.http import HttpResponse, JsonResponse from django.shortcuts import render
def index(request): # return HttpResponse(‘Hello Django‘) context = {} context[‘hello‘] = ‘Hello World!‘ # 数据绑定 return render(request, ‘hello.html‘, context) # 将绑定的数据传入前台
然后在djangoproject1项目的urls.py页面,添加路由规则:
from DjangoWeb import views urlpatterns = [ path(‘admin/‘, admin.site.urls), path(‘index/‘, views.index) ]
并在此项目的settings.py页面添加:
STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), )
在与djangoweb项目平级的路径下建立文件夹:static/css,static/js,并在其中放入静态文件mypage.css及jquery.js,这里只是演示静态文件的存放及获取方法,放其他文件也行。
然后,在templates目录下建立base.html及hello.html,其代码如下:
base.html:
{% load static %} {#base.html#} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>模板测试</title> <link rel="stylesheet" href="{% static ‘css/mypage.css‘ %}"> <script src="{% static ‘js/jquery.js‘ %}"></script> </head> <body> <h1>{{ hello }}</h1> <p>Django模板测试</p> {% block mainbody %} <p>original</p> {% endblock %} </body> </html>
hello.html:
{#hello.html#} {% extends "base.html" %} {% block mainbody %}<p class="redColor">继承了 base.html 文件</p> {% endblock %}
建立后,在控制台启动:
python manage.py runserver
并在浏览器中访问:http://127.0.0.1:8000/index/页面:
二.数据增删改查:
根据数据库实际情况,修改settings.py中的database环节:
DATABASES = { ‘default‘: { # ‘ENGINE‘: ‘django.db.backends.sqlite3‘, # ‘NAME‘: BASE_DIR / ‘db.sqlite3‘, ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘: ‘****‘, ‘USER‘: ‘*****‘, ‘PASSWORD‘: ‘*****‘, ‘HOST‘: ‘127.0.0.1‘, ‘PORT‘: ‘3306‘ } }
其中需要安装mysqlclient组件。修改好配置后,在控制台运行以下命令,来根据数据库表生成model:
python manage.py inspectdb > projectname/models.py 配置了多个数据库,则还可以配置数据库别名来指定根据哪个库中的表来生成Model python manage.py inspectdb --database default >student/models.py # default是默认的别名
完成后,在views.py页面编写相关方法,并在urls.py中配置好urlpatterns(参照上面方法,此处略)。
views.py页面相关代码(重点):
最简单输出json代码:
def getjson(self): data = { ‘ID‘: ‘1‘, ‘name‘: ‘张飞‘, ‘学历‘: ‘本科‘ } return HttpResponse(json.dumps(data), content_type="application/json")
查询数据写法1:
def select(self): a = OcrScreen.objects.get(typeid=1) m = { ‘typeid‘: a.typeid, ‘screenname‘: a.screenname } return HttpResponse(json.dumps(m), content_type="application/json")
查询数据写法2:
def select(self): for song in OcrScreen.objects.all(): m = { ‘typeid‘: song.typeid, ‘screenname‘: song.screenname } z.append(m) return HttpResponse(json.dumps(m), content_type="application/json")
查询数据写法3:
def select(self): a = OcrScreen.objects.get(typeid=1) z = serializers.serialize("json", a) return HttpResponse(json.dumps(a), content_type="application/json")
新增及修改数据代码如下:
def add(self): a = OcrScreen(typeid=1, screenname=‘222222‘, machinetypeid=1, status=1, excelpath=‘\\dddd\\abc‘) a.save() return HttpResponse("OK")
删除数据代码如下:
def delete(self): a = OcrScreen.objects.get(typeid=1) a.delete() return HttpResponse("OK")
以上代码均经过验证,其中路由部分解释以后再补上,供各位参考。