Code Monkey home page Code Monkey logo

python_learning's Introduction

Django 技术笔记:创建和配置一个简单的Pizzeria Web应用

环境配置与安装

创建虚拟环境

虚拟环境是一个独立的Python环境,允许我们在不影响系统其他部分的情况下,为不同的项目安装不同版本的库和依赖。

为了创建一个新的虚拟环境,我们使用以下命令:

alex@Mac-alex Demo % cd Pizzeria
alex@Mac-alex Pizzeria % python3 -m venv pizzeria_env

这将在当前目录下创建一个名为pizzeria_env的新虚拟环境。

激活虚拟环境

在使用虚拟环境之前,需要先激活它。激活虚拟环境将确保我们使用的是虚拟环境中的Python解释器和库。

alex@Mac-alex Pizzeria % source pizzeria_env/bin/activate
(pizzeria_env) alex@Mac-alex Pizzeria % 

注意,命令提示符前的(pizzeria_env)表示虚拟环境已经被激活。

安装Django

Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。使用pip安装Django:

(pizzeria_env) alex@Mac-alex Pizzeria % pip install django

在安装Django的过程中,pip会输出安装进度和结果。如果pip版本落后,会有一个警告提示升级pip。

Django项目配置

创建Django项目

使用Django提供的工具创建一个新项目:

(pizzeria_env) alex@Mac-alex Pizzeria % django-admin startproject Pizzeria .

这将在当前目录下创建一个新的Django项目,名为Pizzeria

使用ls命令查看创建的文件:

(pizzeria_env) alex@Mac-alex Pizzeria % ls Pizzeria 

创建数据库

Django使用迁移系统来同步数据库模式。默认情况下,Django使用SQLite。

执行迁移创建数据库表:

(pizzeria_env) alex@Mac-alex Pizzeria % python manage.py migrate

这将应用所有默认的迁移,创建Django项目所需的表。

查看项目

要启动开发服务器并查看项目,运行:

(pizzeria_env) alex@Mac-alex Pizzeria % python manage.py runserver

此命令启动Django的开发服务器,您可以在浏览器中访问http://127.0.0.1:8000/来查看您的网站。

创建应用程序

生成应用程序目录

在Django中,应用程序是一个包含模型、视图、模板和URLs的Python包。

创建一个新应用程序:

(pizzeria_env) alex@Mac-alex Pizzeria % python manage.py startapp pizzas

这将创建一个名为pizzas的新应用程序目录。

定义数据模型

在Django中,数据模型是一个Python类,它定义了数据库中的表结构。

编辑pizzas/models.py来定义PizzaTopping模型:

# pizzas/models.py
from django.db import models

class Pizza(models.Model):
    name = models.CharField(max_length=200)

    def __str__(self) -> str:
        return self.name

class Topping(models.Model):
    name = models.CharField(max_length=200)
    pizza = models.ForeignKey(Pizza, on_delete=models.CASCADE)

    def __str__(self) -> str:
        return self.name

激活数据模型

为了让Django知道我们创建的应用程序和模型,我们需要在项目的settings.py文件中激活它。

Pizzeria/settings.py文件中的INSTALLED_APPS列表添加我们的应用程序:

# Pizzeria/settings.py
INSTALLED_APPS = [
    # My Apps
    'pizzas',
    # Default installed Apps
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

迁移数据模型

创建数据模型的迁移文件:

(pizzeria_env) alex@Mac-alex Pizzeria % python manage.py makemigrations pizzas

然后应用迁移文件,创建数据库表:

(pizzeria_env) alex@Mac-alex Pizzeria % python manage.py migrate

Django 管理网站

创建超级用户

为了访问Django的管理网站,我们需要一个超级用户:

(pizzeria_env) alex@Mac-alex Pizzeria % python manage.py createsuperuser

按提示输入用户名、邮箱和密码来创建超级用户。

向管理网站注册数据模型

要在Django管理网站中管理我们的模型,我们需要在pizzas/admin.py文件中注册它们:

# pizzas/admin.py
from django.contrib import admin
from .models import Pizza, Topping

admin.site.register(Pizza)
admin.site.register(Topping)

现在,您可以使用超级用户账户访问管理网站:访问http://localhost:8000/admin/,并输入您刚创建的超级用户的用户名和密码。

这就完成了一个简单的Pizzeria Web应用的创建和配置。您可以继续开发更多功能,如添加视图、模板和表单,以丰富您的应用程序。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.