python使用django的详细过程

使用 Django 框架创建一个 Web 应用程序的详细过程通常包括以下步骤:

安装 Django:

打开命令行或终端,运行以下命令安装 Django:

pip install django

创建 Django 项目:

在命令行中运行以下命令创建一个新的 Django 项目:

django-admin startproject myproject

这将创建一个名为 myproject 的目录,其中包含 Django 项目的初始文件。

进入项目目录并创建应用:

进入项目目录并创建一个 Django 应用:

cd myproject

python manage.py startapp myapp

这将在 myproject 目录中创建一个名为 myapp 的应用。

配置数据库:

打开 myproject/settings.py 文件,配置数据库连接。默认使用 SQLite,你也可以选择其他数据库引擎。

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': BASE_DIR / "db.sqlite3",

}

}

定义模型:

在 myapp/models.py 中定义数据模型。这将是你的应用程序的数据结构。

from django.db import models

class MyModel(models.Model):

name = models.CharField(max_length=100)

description = models.TextField()

def str(self):

return self.name

创建数据库表:

运行以下命令以创建数据库表:

python manage.py makemigrations

python manage.py migrate

创建管理员账户:

运行以下命令创建管理员账户:

python manage.py createsuperuser

按照提示输入用户名、邮箱和密码。

注册模型:

打开 myapp/admin.py 文件,将模型注册到管理员界面。

from django.contrib import admin

from .models import MyModel

admin.site.register(MyModel)

创建视图:

在 myapp/views.py 中创建视图函数。

from django.shortcuts import render

from .models import MyModel

def my_view(request):

my_data = MyModel.objects.all()

return render(request, 'myapp/my_template.html', {'my_data': my_data})

创建模板:

在 myapp/templates/myapp 目录中创建一个 HTML 模板(例如,my_template.html)来显示你的数据。

配置 URL 路由:

在 myapp/urls.py 中配置 URL 路由。

from django.urls import path

from . import views

urlpatterns = [

path('myview/', views.my_view, name='my-view'),

]

配置主 URL 路由:

打开 myproject/urls.py 文件,将应用的 URL 包含到主项目中。

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

path('admin/', admin.site.urls),

path('myapp/', include('myapp.urls')),

]

运行开发服务器:

在命令行中运行以下命令启动 Django 开发服务器:

python manage.py runserver

访问 http://localhost:8000/admin/ 使用创建的管理员账户登录并管理数据。

访问应用视图:

访问 http://localhost:8000/myapp/myview/ 查看创建的视图。

这是一个简单的 Django Web 应用的创建过程。你可以根据需要扩展和定制这个基础结构,使用 Django 提供的功能创建更复杂的应用。

相关推荐
ClickHouseDB2 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
第九序言T2 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
m0_639906942 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
Java后端的Ai之路2 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003962 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_3 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
时间售卖铺3 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw3 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
quantdash_cc4 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl4 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计