Django入门

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

安装Django

检查Python版本 :Django需要Python环境。Django 3.x官方支持Python 3.6至3.10,而更新版本的Django可能支持更新的Python版本。可以使用python --version或python3 --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的开发服务器。默认情况下,服务器会运行在localhost的8000端口上。

可以在浏览器中访问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.")
相关推荐
第九序言T5 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路6 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003966 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_6 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
quantdash_cc7 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl7 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang8 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真8 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
wflynn9 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
2601_967980119 小时前
python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)
python·scapy·pcap·协议分析·网络数据包