创建Django项目及应用

1 创建Project

1个Project可以对应多个app


django-admin startproject myproject

2 创建App

python manage.py startapp app01
INSTALLED_APPS = [
    # ...
    'app01',
    'app02',
    # ...
]

 如果要让这个应用在项目中起作用,需要在项目的 settings.py 文件的 INSTALLED_APPS 配置中添加应用的名称。

3 启动项目

启动对象是一个项目,包含已经陪知道settings.py中的app

3.1 先初始化数据库

python manage.py makemigrations
python manage.py migrate

3.2 启动服务 

python manage.py runserver 127.0.0.1:8000

4 自定义Django命令

4.1 自定义

需要在app的目录下建立management目录,command目录下文件名对应调用comman

    app01/
        __init__.py
        models.py
        views.py
        management
            commands
                my_command.py
        
        tests.py
        admin.py

4.2 命令接受参数

from django.core.management.base import BaseCommand
from django.core.mail import send_mail
 
class Command(BaseCommand):
    help = 'Sends an email to the specified recipient'
 
    def add_arguments(self, parser):
        parser.add_argument('action', type=str, help='Action for Job')
        parser.add_argument('id', type=int, help='Job ID')
 
    def handle(self, *args, **kwargs):
        action = kwargs['action']
        message = kwargs['message']
        id = kwargs['id']
         
        if action =='start':
            start_job(id)
            self.stdout.write(self.style.SUCCESS('Job star successfully'))

4.3 使用命令带参数

python manage.py my_command --action='start --id=1

5 Django完整项目目录

project_demo/
    project_demo/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
    manage.py
    app01/
        __init__.py
        models.py
        views.py
        management
            commands
                my_command.py
        tests.py
        admin.py
    app02/
        __init__.py
        models.py
        views.py
        tests.py
        admin.py
    static/
    templates/
    media/

project_demo/: 顶层目录,与项目同名。

project_demo/__init__.py: 一个空文件,告诉Python该目录应该被视为一个Python包。

project_demo/settings.py: 包含项目的所有配置设置。

project_demo/urls.py: 存储项目的URL路由配置。

project_demo/asgi.py: 用于部署项目的ASGI兼容服务器入口点。

project_demo/wsgi.py: 用于部署项目的WSGI兼容服务器入口点。

manage.py: 一个命令行工具,让你通过各种方式管理Django项目。

app01/: Django应用目录,应用的名称可以自定义。

app01/__init__.py: 一个空文件,告诉Python该目录应该被视为一个Python包。

app01/models.py: 定义应用的数据库模型。

app01/views.py: 包含处理网页请求和响应的逻辑。

app01/tests.py: 包含应用的测试代码。

app01/admin.py: 定义了Django admin界面的模型配置。

static/: 存储应用的静态文件(如CSS、JavaScript、图片等)。

templates/: 存储应用的模板文件(Django HTML文件)。

media/: 存储应用上传的媒体文件(如用户上传的图片和视频)。

这只是一个基本的项目结构,根据项目的复杂性和需求,可能还需要添加其他目录和文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kingairy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值