当前位置: 首页 > news >正文

Django快速入门搭建网站

Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发
编写Django应用文档

  • 1、安装 Django正式版
    • 安装Django:python -m pip install Django
    • 验证:python -m django --version 或者 print(django.get_version())
  • 2、创建项目
    • 在命令行中,cd 目录进入希望存储代码的目录,并创建一个新目录(如 djangotutorial ):mkdir djangotutorial
    • 新建一个名为 mysite 的Django项目:django-admin startproject mysite djangotutorial
      此时项目结构预期如下:
      djangotutorial/manage.py			-> 管理 Django 项目的命令行工具mysite/				-> 项目的实际 Python 包__init__.py		-> 标识 mysite 为 python 包的空文件settings.py		-> Django 项目的配置文件urls.py			-> Django 项目的 URL 声明asgi.py			-> 运行在 ASGI 兼容的 Web 服务器上的入口wsgi.py			-> 运行在 WSGI 兼容的Web服务器上的入口
      
  • 3、启动服务cd djangotutorial 进入项目目录下,运行python manage.py runserver
    • 为了使您的开发服务器对网络上的其他机器可见,运行:python manage.py runserver 0.0.0.0:8000
      还需要在 settings.py 中修改 ALLOWED_HOSTS 将本机IP地址添加进来比如:ALLOWED_HOSTS = ['10.225.1.1', '127.0.0.1', 'localhost']
  • 4、访问:通过浏览器访问 http://127.0.0.1:8000/ 或其他人访问 http://10.225.1.1:8000/,服务器运行成功,你将看到一个“祝贺”页面,有一只火箭正在发射。
  • 5、项目配置好了,此时创建应用程序,比如名为 polls:python manage.py startapp polls,布局如下:
    polls/__init__.pyadmin.pyapps.pymigrations/__init__.pymodels.pytests.pyviews.py
    
  • 6、编写视图并配置
    • 打开 polls/views.py,输入如下内容:
      from django.http import HttpResponsedef index(request):return HttpResponse("Hello, world. You're at the polls index.")
      
    • 要在浏览器中访问它,我们需要将其映射到一个 URL,为 polls 应用定义一个 URLconf,创建一个名为 polls/urls.py 的文件,写入如下内容:
      from django.urls import pathfrom . import viewsurlpatterns = [path("", views.index, name="index"),
      ]
      
    • 在项目中定义polls的url配置,用 include 引用其他 URLconfs ,修改mysite/urls.py
      from django.contrib import admin
      from django.urls import include, path  # 导入includeurlpatterns = [path("polls/", include("polls.urls")),  # 添加这一行声明path("admin/", admin.site.urls),
      ]
      
    • 重新启动服务,访问 http://localhost:8000/polls/ 验证改动。

views.py中的视图返回形式举例:

  • HttpResponse

    from django.http import HttpResponse
    import datetimedef current_datetime(request):now = datetime.datetime.now()html = '<html lang="en"><body>It is now %s.</body></html>' % nowreturn HttpResponse(html)
    
  • render返回自定义的HTML文件:

    from django.http import Http404
    from django.shortcuts import render
    from polls.models import Polldef detail(request, poll_id):try:p = Poll.objects.get(pk=poll_id)except Poll.DoesNotExist:raise Http404("Poll does not exist")return render(request, "polls/detail.html", {"poll": p})
    
  • render返回模板文件:

    from django.shortcuts import render# Create your views here.
    def index(request):return render(request, 'index.html')
    

    index.html 位于项目 djangotutorial 下的 templates 文件夹内时,修改settings配置:

    from pathlib import PathBASE_DIR = Path(__file__).resolve().parent.parentINSTALLED_APPS = [...,"polls",  # 应用名...,
    ]TEMPLATES = [{"BACKEND": "django.template.backends.django.DjangoTemplates","DIRS": [BASE_DIR / "templates"],  # 添加模板目录"APP_DIRS": True,# ...},
    ]
    
http://www.lryc.cn/news/585544.html

相关文章:

  • 经典同步问题详解
  • 液冷智算数据中心崛起,AI算力联动PC Farm与云智算开拓新蓝海(二)
  • Apache Cloudberry 向量化实践(三)重塑表达式构建路径:Gandiva 优化实战
  • 2D下的几何变换(C#实现,持续更新)
  • SpringBoot或OpenFeign中 Jackson 配置参数名蛇形、小驼峰、大驼峰、自定义命名
  • SpringCloud之Ribbon
  • BootstrapBlazor与JS互调
  • Semi-Supervised Single-View 3D Reconstruction via Prototype Shape Priors
  • 小智AI模型接入MCP
  • 【一起来学AI大模型】微调技术:LoRA(Low-Rank Adaptation) 的实战应用
  • SQL Server通过CLR连接InfluxDB实现异构数据关联查询技术指南
  • SpringBoot JWT
  • Rust与UE5高效集成实战
  • uniapp制作一个个人页面
  • ffmpeg-api记录
  • UC浏览器PC版自2016年后未再更新不支持vue3
  • 小旺AI截图1.2.1版本上线:新增录屏音频、Mac长截屏
  • Docker高级管理--Dockerfile 镜像制作
  • 手把手一起使用Miniforge3+mamba平替Anaconda(Win10)
  • 机器学习week2-线性回归加强
  • Java的extends通配符
  • netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)
  • 和鲸社区深度学习基础训练营2025年关卡2(3)pytorch
  • 利用Claude code,只用文字版系统设计大纲,就能轻松实现系统~
  • 免费应用分发平台的安全漏洞和防护机制是什么?
  • 60 美元玩转 Li-Fi —— 开源 OpenVLC 平台入门(附 BeagleBone Black 驱动简单解析)
  • Windows解决 ping 127.0.0.1 一般故障问题
  • 【Linux网络】深入理解HTTP/HTTPS协议:原理、实现与加密机制全面解析
  • 信号量机制
  • 聊聊AI大模型的上下文工程(Context Engineering)