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.")
相关推荐
zdw17 分钟前
fit parse解析佳明.fit 运动数据,模仿zwift数据展示
python
剑桥折刀s1 小时前
Python打卡:Day46
python
巴里巴气1 小时前
Python爬虫图片验证码和滑块验证码识别总结
爬虫·python
sword devil9002 小时前
PYQT实战:智能家居中控
python·智能家居·pyqt
NetX行者2 小时前
FastMCP:用于构建MCP服务器的开源Python框架
服务器·python·开源
超龄超能程序猿2 小时前
(3)机器学习小白入门 YOLOv: 解锁图片分类新技能
python·numpy·pandas·scipy
waynaqua2 小时前
FastAPI开发AI应用一:实现连续多轮对话
python·openai
纨妙2 小时前
python打卡day59
开发语言·python
waynaqua2 小时前
FastAPI开发AI应用二:多厂商模型使用指南
python·openai
秋难降2 小时前
Python 知识 “八股”:给有 C 和 Java 基础的你😁😁😁
java·python·c