机器学习WebService搭建(四)------django入门

相比于python其他的Web框架,django的功能是最完整的,包涵服务发布,路由映射,模板编程,数据处理一整套功能。因此django模块之间耦合紧密,不容易进行拓展,但是django的orm用着非常舒服!这给开发带来了很大的便捷性。

demo步骤

  1. 进入开发的python虚拟环境 使用activate命令。
  2. 安装django pip install django。查看安装是否成功 conda --version
  3. 初始化项目。
    切入到想要放置项目的文件夹,在cmd中输入django-admin startproject testserver. testserver为站点名称,可任意修改
  4. 初始化应用。
    进入生成的testserver文件路径,在cmd中输入,python manage.py startapp testapp. testapp为应用名称,可任意修改。
  5. 修改testserver/testserver文件夹中的urls.py文件
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from django.conf.urls import include

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'testapp/',include('testapp.urls')),
]
  1. 在testserver/testapp文件夹下修改views.py文件
from django.shortcuts import HttpResponse

def hello(request):
    return HttpResponse("<h1>hello world</h1>")
  1. 在testserver/testapp文件夹下新建urls.py文件
from django.conf.urls import url
from django.contrib import admin
from testapp import views
 
urlpatterns = [
    url(r'', views.hello,name="hello"),
]
  1. 启动服务器。
    在testsever路径下,用cmd输入python manage.py runserver 8000
  2. 查看结果。
    在浏览器中输入http://localhost:8000/testapp/就可以看到hello world了

深入学习

1.在testserver/testapp路径下的常用文件,

__init__.py 
   没有内容,使app成为一个python包。
   一定不要删,之后文件夹里的__init__.py也都不要删,不然会bug
   
admin.py 管理站点模型

models.py 用来添加模型层数据类,就是定义orm的地方

views.py 定义url响应函数,网页的跳转主要就靠这个文件,很重要

2.添加网页步骤

  1. 在testserver/testapp下添加文件夹templates
  2. 在templates文件中添加html文件,如hello.html,同样输入
<h1>hello world</h1
  1. 修改testserver/testapp下views.py文件
from django.shortcuts import render
from django.shortcuts import HttpResponse

def hello(request):
	PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    return render(request,os.path.join(PROJECT_ROOT,'testapp/templates','hellp.html'))
  1. 修改testserver/testserver下setting.py文件
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 修改此行
        'DIRS': [os.path.join(BASE_DIR, 'testapp', 'templates').replace('\\','/')], 
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
  1. 重新访问服务器

ps: 通过url添加参数

  1. url修改为,url(r'(\d+)', views.hello,name="hello"),
  2. hello函数修改为
def hello(request,num):
    PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    print(num)
    return render(request,os.path.join(PROJECT_ROOT,'testapp\\templates','hello.html'))

8.重新访问, http://localhost:8000/testapp/3,即可在cmd看到数字

3. 添加模型类步骤

  1. 注册app,告诉django需要安装哪些app的模型。
    在testserver/testserver文件夹下settings.py文件修改代码。
INSTALLED_APPS = [
	'testapp.apps.TestappConfig' #新增行,TestappConfig替换为apps.py文件的类名称
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
  1. 定义模型类
    在testserver/testapp文件夹下的models.py 文件中,添加一些模型定义的代码,如
from django.db import models

class trainingTask(models.Model):
    oid = models.IntegerField(primary_key=True, db_column='FId')
    trainingName = models.CharField(max_length=200)
    trainingDataFile = models.CharField(max_length = 200)
    typeOfModel = models.CharField(max_length = 100)
    onTraining = models.IntegerField(default=-1)
    uploadTime = models.DateTimeField(auto_now="True")
    username = models.CharField(max_length=128,default = "")
  1. 移植数据库
    在testserver路径下cmd输入,python manage.py makemigrations testapp,再输入python manage.py migrate,数据库中就添加成功该模型了。

To be continued…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值