django 简明教程

1,798 阅读2分钟

这是我参与更文挑战的第14天,活动详情查看:更文挑战

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多系列文章在我博客

django 简明教程

安装

pip install django -i pypi.tuna.tsinghua.edu.cn/simple/

  1. 生成环境依赖包的文件 pip freeze > requirements.txt 2.使用requirements.txt安装依赖的方式pip install -r requirements.txt

初始 django 项目

django-admin 基本命令

检查是否安装完成 django-admin

startproject  创建项目
startapp      创建应用
check         校验项目完整性
runserver     简单运行 应用
shell         django 命令行工具
test          跑单元测试用例

makemigrations     创建模型迁移文件
migrate            执行上一个命令创建的迁移文件
dumpdata           把数据库数据导出来
loaddata           把文件数据导入数据库

django 项目和应用的区别

  • 项目可以独立运行,应用不行
  • 应用可以自己管理模型、视图、模板、路由和静态文件
  • 项目可以包含多个应用

startproject 创建 django-intro 项目

django-admin startproject django-intro

项目目录介绍

settings.py        项目配置文件
wsgi.py            作为wsgi 应用必须的文件

简单启动项目 python ./django_intro/manage.py runserver

startapp 创建 django 应用

python ./django_intro/manage.py startapp blog

应用目录介绍

admin.py      后台管理
app.py        使用应用
tests.py      编写应用测试用例
urls.py       自行创建,管理路由

django hello world

blog\views.py 编写 helloworld 方法

from django.http import HttpResponse

# Create your views here.
def hello_world(request):
    return HttpResponse("hello world")

blog\urls.py

from django.urls import path, include
import blog.views

urlpatterns = [
    path('hello_world', blog.views.hello_world)
]

django_intro\urls.py

from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),
]

django_intro\settings.py

INSTALLED_APPS = [
    # myapp
    'blog.apps.BlogConfig',
]

python manage.py runserver

模型层使用

配置数据库 django_intro\settings.py

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres', #数据库名字
        'USER': 'postgres', #用户名
        "PASSWORD" : 'postgres', #自己的密码
        "HOST":'127.0.0.1',
        'PORT':5432,
    }
}

定义模型

编辑 blog\models.py

from django.db import models

# Create your models here.
class Article(models.Model):
    article_id = models.AutoField(primary_key=True)
    title = models.TextField()
    brief_content = models.TextField()
    content = models.TextField()
    publish_date = models.DateTimeField(auto_now=True)

模型迁移

python manage.py makemigrations

Migrations for 'blog':
  blog\migrations\0001_initial.py
    - Create model Article

同步模型到数据库

python manage.py migrate