django使用笔记

1.安装virtualenv -----不是必须的

sudo pip3 install virtualenv

#创建文件夹--virtualenv将在这个文件夹下面,产生一套独立python环境
mkdir myproject
cd myproject


virtualenv venv -p python3  #创建一个基于 python 3 的虚拟环境。

 venv/bin/activate #启动环境

deactivate #关闭环境
 

2.安装Django

pip install django

3.开始项目

#命令行工具 django-admin 会在安装 Django 的时候一起安装的。
django-admin startproject myproject  #创建一个 名为myproject的Django 项目

可以看到,一个初始 Django 的项目由五个文件组成:

  • manage.py:django-admin 是命令行工具的快捷方式。它用于运行与我们项目相关的管理命令。我们将使用它来运行开发服务器,运行测试,创建迁移等等。
  • init.py:这个空文件告诉 Python 这个文件夹是一个 Python 包。
  • settings.py:这个文件包含了所有的项目配置。我们会一直使用到这个文件。
  • urls.py:这个文件负责映射我们项目中的路由和路径。例如,如果您想在 URL /about/ 中显示某些内容,则必须先将其映射到此处。
  • wsgi.py:该文件是用于部署简单的网关接口。

启动Django自带的web服务器

python manage.py runserver 

4.创建项目里的应用

  • app:是一个可以执行某些操作的 Web 应用程序。一个应用程序通常由一组 models(数据库表),views(视图),templates(模板),tests(测试) 组成。
  • project:是配置和应用程序的集合。一个项目可以由多个应用程序或一个应用程序组成。
#创建一个名为print的服务
django-admin startapp print

  • migrations /:在这个文件夹中,Django 会存储一些文件以跟踪您在 models.py 文件中创建的更改,目的是为了保持数据库和 models.py 同步。
  • admin.py:这是 Django应用程序一个名为 Django Admin 的内置配置文件。
  • apps.py:这是应用程序本身的配置文件。
  • models.py:这里是我们定义 Web 应用程序实体的地方。models 由 Django 自动转换为数据库表。
  • tests.py:该文件用于为应用程序编写单元测试。
  • views.py:这是我们处理Web应用程序请求(request)/响应(resopnse)周期的文件。

打开settings.py并尝试查找INSTALLED_APPS变量: 并在其中加上‘print’

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'print',
]

models数据库表的定义

from django.db import models
#定义一张表
class template(models.Model):
    name = models.CharField(max_length=30, unique=False)
    hospital = models.CharField(max_length=300, unique=False)
    printtemplate = models.TextField()

** python manage.py makemigrations 根据model创建定义数据库表的文件**

python manage.py migrate 将迁移应用到数据库中--默认sqlite

view模板

from django.http import HttpResponse, FileResponse, JsonResponse
from .models import template
from django.core import serializers
import json

# 获取一个医院的打印模板列表-get
def getlist(request):
    hospital = request.GET.get('hospital')
    thelist = template.objects.filter(hospital=hospital).values()
    thelist = list(thelist)
    print(thelist)
    return JsonResponse(thelist, safe=False)
   
# 对一个医院新增打印模板-post
def createtemplate(request):
    param = json.loads(request.body)
    name = param['name']
    hospital = param['hospital']
    printtemplate = param['printtemplate']
    template.objects.create(name=name, hospital=hospital, printtemplate=printtemplate)

url.py模板

路由请求对应的方法

urlpatterns = [
    path('getlist', views.getlist, name='getlist'),
    path('createtemplate', views.createtemplate, name='createtemplate'),
    path('admin/', admin.site.urls),
]

详细教程1
详细教程2

原文地址:https://www.cnblogs.com/panfengde/p/10076928.html