Django笔记

初始化

安装

1
pip install django

检查

1
python -m django --version

创建项目

1
django-admin startproject bysms

bysms就是项目的根目录

启动

1
python manage.py runserver 0.0.0.0:80

URL请求

创建app

1
python manage.py startapp sales 

请求代码

Views.py

1
2
3
4
5
6
7
from django.shortcuts import render

# Create your views here.

from django.http import HttpResponse
def listorders(request):
return HttpResponse("下面是系统中所有的订单信息。。。")

url路由设置(代理单个路由)

urls.py

1
2
3
4
5
6
7
8
from django.contrib import admin
from django.urls import path

from sales.views import listorders
urlpatterns = [
path('admin/', admin.site.urls),
path('sales/orders/', listorders),
]

image-20230108024219038

代理另一个路由文件

  • urls.py

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from django.contrib import admin

    # 导入一个include函数
    from django.urls import path, include

    from sales.views import listorders
    urlpatterns = [
    path('admin/', admin.site.urls),

    # 凡是 url 以 sales/ 开头的,
    # 都根据 sales.urls 里面的 子路由表进行路由
    path('sales/', include('sales.urls')),

    ]
  • sales\urls.py

    1
    2
    3
    4
    5
    6
    7
    from django.urls import path

    from . import views

    urlpatterns = [
    path('orders/', views.listorders),
    ]

当前url

  • 127.0.0.1/orders/sales/

创建数据表

  1. 创建一个用来存储公共信息的app

    1
    python manage.py startapp common 
  2. 配置models.py

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from django.db import models

    class Customer(models.Model):
    # 客户名称
    name = models.CharField(max_length=200)

    # 联系电话
    phonenumber = models.CharField(max_length=200)

    # 地址
    address = models.CharField(max_length=200)
  3. 配置 settings.py

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # 加入下面这行
    'common.apps.CommonConfig',
    # 或者'common',写app名
    ]
  4. 更新数据库脚本

    1
    python manage.py migrate
  5. 更新数据库

    1
    python manage.py makemigrations common
  6. 在admin.py中声明model 这样可以在管理员目录内管理

    1
    2
    3
    4
    5
    6
    from django.contrib import admin

    # Register your models here.
    # 导入Customer
    from .models import Customer
    admin.site.register(Customer)
  7. 管理员界面中文化

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    # admin界面语言本地化
    'django.middleware.locale.LocaleMiddleware',
    ]
  8. 6