相比于python其他的Web框架,django的功能是最完整的,包涵服务发布,路由映射,模板编程,数据处理一整套功能。因此django模块之间耦合紧密,不容易进行拓展,但是django的orm用着非常舒服!这给开发带来了很大的便捷性。
activate
命令。pip install django
。查看安装是否成功 conda --version
django-admin startproject testserver
. testserver为站点名称,可任意修改python manage.py startapp testapp
. testapp为应用名称,可任意修改。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')),
]
from django.shortcuts import HttpResponse
def hello(request):
return HttpResponse("hello world
")
from django.conf.urls import url
from django.contrib import admin
from testapp import views
urlpatterns = [
url(r'', views.hello,name="hello"),
]
python manage.py runserver 8000
http://localhost:8000/testapp/
就可以看到hello world了__init__.py
没有内容,使app成为一个python包。
一定不要删,之后文件夹里的__init__.py也都不要删,不然会bug
admin.py 管理站点模型
models.py 用来添加模型层数据类,就是定义orm的地方
views.py 定义url响应函数,网页的跳转主要就靠这个文件,很重要
hello world
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'))
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',
],
},
},
]
ps: 通过url添加参数
url(r'(\d+)', views.hello,name="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看到数字
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',
]
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 = "")
python manage.py makemigrations testapp
,再输入python manage.py migrate
,数据库中就添加成功该模型了。To be continued…