Django入门

Django是一个用Python编写的高级Web框架,它允许快速开发安全和维护性高的网站。

安装Django

检查Python版本 :Django需要Python环境。Django 3.x官方支持Python 3.6至3.10,而更新版本的Django可能支持更新的Python版本。可以使用python --versionpython3 --version命令来检查Python版本。

安装Django :打开命令行或终端,输入pip install django命令来安装Django。安装完成后,可以通过运行django-admin --version命令来验证Django是否成功安装。

使用Django

创建Django项目

使用django-admin工具创建一个新的Django项目。在命令行或终端中,导航到想要创建项目的目录,然后输入django-admin startproject myproject命令(将myproject替换为想要的项目名称)。

这将创建一个名为myproject的新目录,其中包含Django项目的基础结构,如manage.py文件和各种配置文件。

启动开发服务器

使用cd命令进入刚创建的项目目录。

输入python manage.py runserver命令来启动Django的开发服务器。默认情况下,服务器会运行在localhost8000端口上。

可以在浏览器中访问http://127.0.0.1:8000/来查看Django项目。

项目结构

在Django中,一个项目可以包含多个应用程序。每个应用程序都是一个独立的模块,用于处理特定的功能或业务逻辑。应用程序目录通常包含以下文件和目录:

  1. migrations 目录:用于存放数据库迁移文件,这些文件记录了数据库模型的变更历史。

  2. init.py:这是一个空文件,用于标识该目录是一个Python包。

  3. admin.py:用于配置Django管理后台。

  4. apps.py:应用的配置文件。

  5. models.py:用于定义数据库模型。

  6. tests.py:用于编写测试用例。

  7. urls.py:应用的URL路由配置文件。

  8. views.py:用于定义视图函数,这些函数处理用户的请求并返回响应。

  9. templates 目录:用于存放HTML模板文件。

  10. static 目录:用于存放静态文件,如CSS、JavaScript、图片等。

项目级URL配置

Django项目的URL配置通常位于项目同名文件夹下的urls.py文件中。这个文件包含了项目的根URL模式。

复制代码
# myproject/urls.py  
  
from django.contrib import admin  
from django.urls import path, include  
  
urlpatterns = [  
    path('admin/', admin.site.urls),  # Django管理后台的URL  
    path('', include('myapp.urls')),  # 包含应用程序的URL配置  
]

模块级URL配置

复制代码
# myapp/urls.py  
  
from django.urls import path  
from . import views  
  
urlpatterns = [  
    path('', views.home, name='home'),  # 根URL映射到home视图  
    path('about/', views.about, name='about'),  # /about/ URL映射到about视图  
]

视图函数

复制代码
# myapp/views.py  
  
from django.http import HttpResponse  
  
def home(request):  
    return HttpResponse("Welcome to the home page!")  
  
def about(request):  
    return HttpResponse("This is the about page.")
相关推荐
SurpriseDPD3 小时前
bpftrace‑tasks 工具代码分析
开发语言·python
BS30813_vx3 小时前
【编号:01652】Spring Boot村务管理系统:财务公开、党建活动与计生服务一体化实战
开发语言·python
边吃番茄边敲代码4 小时前
从本地工具到 MCP:给 Agent 接入独立工具服务,并补齐自动化测试
人工智能·python·功能测试·ai·单元测试·pytest
SugarAbsinthe4 小时前
【Agent开发实习小记】从人工逐条验证到自动化验收:新 API 接入前的效率瓶颈
人工智能·python·自动化·pytest
liwulin05064 小时前
【VSCODE】能在终端打印的图标
python
Mr数据杨4 小时前
【Codex】用学生生活日常模块记录校园生活过程
django·生活·codex·项目开发
桃西西呀4 小时前
「百年一遇」的台风,为什么我这辈子就遇了好几回?概率论把这笔账算给你看
人工智能·python·数据可视化
苏其鸿4 小时前
Python开发入门:从环境搭建到第一个实用小项目
python
Mr数据杨5 小时前
【Codex】用角色管理模块控制不同岗位的数据与操作权限
django·codex·项目开发
练习两年半的攻城狮5 小时前
【RAG实战】知识库 BGE-M3 稀疏向量混合检索方案
python·fastapi·llamaindex