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.")
相关推荐
c8i3 分钟前
django中的FBV 和 CBV
python·django
c8i5 分钟前
python中的闭包和装饰器
python
这里有鱼汤3 小时前
小白必看:QMT里的miniQMT入门教程
后端·python
TF男孩13 小时前
ARQ:一款低成本的消息队列,实现每秒万级吞吐
后端·python·消息队列
该用户已不存在18 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
站大爷IP20 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户8356290780511 天前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
c8i1 天前
python中类的基本结构、特殊属性于MRO理解
python
liwulin05061 天前
【ESP32-CAM】HELLO WORLD
python
Doris_20231 天前
Python条件判断语句 if、elif 、else
前端·后端·python