Django 创建你的第一个项目

简介: Django 创建你的第一个项目

Django Demo 入门

前言

本文档旨在从入门到入土的整理Django的学习路线,以提供于其他人进行学习。

本文档参考了Django官方技术文档进行编写。Django版本应为4.2版本。

第一步 安装Django

pip install django

第二步 编写你的第一个Django应用程序

让我们通过例子来学习。

在本教程中,我们将引导您完成基本轮询应用程序的创建。

它将由两部分组成:

  • 一个公共站点,允许人们查看民意调查并在其中投票。
  • 一个允许您添加、更改和删除民意调查的管理站点。
django-admin startproject mysite

这将在您的当前目录中创建一个mysite目录。

让我们看看startproject创建了什么:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

这些文件是:

  • 外部mysite/根目录是您项目的容器。它的名字对 Django 无关紧要;您可以将其重命名为您喜欢的任何名称。
  • manage.py:一个命令行实用程序,可让您以各种方式与此 Django 项目进行交互。manage.py您可以在django-admin 和 manage.py中阅读有关的所有详细信息 。
  • 内部mysite/目录是项目的实际 Python 包。它的名称是 Python 包名称,您需要使用它来导入其中的任何内容(例如mysite.urls)。
  • mysite/init.py: 一个空文件,告诉 Python 这个目录应该被认为是一个Python包。
  • mysite/settings.py:此 Django 项目的设置/配置。 Django settings会告诉你所有关于设置如何工作的信息。
  • mysite/urls.py:这个 Django 项目的 URL 声明;您的 Django 网站的“目录”。
  • mysite/asgi.py:为您的项目服务的 ASGI 兼容 Web 服务器的入口点。
  • mysite/wsgi.py:为您的项目服务的 WSGI 兼容 Web 服务器的入口点。

让我们验证您的 Django 项目是否正常工作。切换到外部mysite目录(如果还没有),然后运行以下命令:

python manage.py runserver

然后你就可以看到你的控制台中存在这样的输出。

Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
May 03, 2023 - 05:16:39
Django version 4.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

现在您的环境——一个“项目”——已经设置好了,您可以开始工作了。

您在 Django 中编写的每个应用程序都包含一个遵循特定约定的 Python 包。Django 附带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录。

项目与应用
项目和应用程序之间有什么区别?应用程序是一种可以执行某些操作的网络应用程序——例如,博客系统、公共记录数据库或小型投票应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以在多个项目中。
您的应用程序可以位于您的Python 路径上的任何位置。在本教程中,我们将在与您的文件相同的目录中创建我们的投票应用程序 manage.py,以便它可以作为自己的顶级模块导入,而不是mysite.

要创建您的应用程序,请确保您位于同一目录中manage.py 并键入以下命令:

python manage.py startapp polls

然后我们来写一个简单的视图,首先我们切换到我们的polls文件夹的views.py中。

然后写一段简单的代码

from django.http import HttpResponse
# Create your views here.
def index(request):
    return HttpResponse("Hello! This is a Django Project")

这样我们一个简单的view视图就写好了,但是我们需要将路由进行添加,让我们从我们的ip网址中可以访问请求到他。

那么我们就需要创建一个urls.py的文件作为我们polls应用的路由管理。

from django.urls import path
from . import views
urlpatterns = [
    path("", views.index, name="index"),
]

在添加完毕之后,我们需要在整个项目的路由中添加我们的应用polls。所以我们要在mysite文件夹下面的urls.py进行代码的编写。

from django.contrib import admin
from django.urls import path, include
urlpatterns = [
    path("polls/", include("polls.urls")),
    path('admin/', admin.site.urls),
]

最后我们重新运行项目,并且访问我们的http://127.0.0.1:8080/polls就可以看到效果了。

相关文章
|
6月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
818 4
|
6月前
|
前端开发 JavaScript 数据安全/隐私保护
计算机Python项目|django学生成绩管理系统
计算机Python项目|django学生成绩管理系统
|
3月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
142 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
3月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
127 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
3月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
112 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
3月前
|
Linux Python
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
|
3月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
69 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
4月前
|
运维 Devops 测试技术
一个人活成一个团队:python的django项目devops实战
DevOps通过自动化的流程,使得构建、测试、发布软件能够更加地快捷、频繁和可靠。本文通过一个python的django个人博客应用进行了DevOps的实战,通过DevOps拉通开发和运维,通过应用云效的DevOps平台实现自动化“软件交付”的流程,使得构建、测试、发布软件能够更加地快捷、频繁和可靠,提交研发交付效率。作为个人项目也是可以应用devops提高效率。
66 3
|
4月前
|
JSON API 数据安全/隐私保护
Django 后端架构开发:JWT 项目实践与Drf版本控制
Django 后端架构开发:JWT 项目实践与Drf版本控制
92 0
|
4月前
|
存储 前端开发 Serverless
中后台前端开发问题之Django项目中接收和处理用户的抽奖请求如何解决
中后台前端开发问题之Django项目中接收和处理用户的抽奖请求如何解决
22 0