学习笔记项目

建立虚拟环境

python -m venv ll_env 运行模块venv,创建名为ll_env的虚拟环境

激活虚拟环境

$ source ll_env/bin/activate

在这种情况下,你可以在环境中安装包,并使用已安装的包。你在ll_env中安装的包仅在该环境处于活动状态时才可用。

关闭虚拟环境

$ deactivate

如果关闭运行虚拟环境的终端,虚拟环境也将不再处于活动状态

安装Django

pip install Django

由于我们是在虚拟环境中工作,因此在所有的系统中,安装Django的命令都相同:不需要指定标志--user,也无需使用python -m pip install package_name这样较长的命令。
别忘了,Django仅在虚拟环境处于活动状态时才可用。

在Django中创建项目

$ django-admin startproject learning_log .

让Django新建一个名为learning_log的项目。 这个命令末尾的句点让新项目使用合适的目录结构,这样开发完成后可轻松地将应用程序部署到服务器。

项目目录结构

目录learning_log包含4个文件 ,其中最重要的是settings.py、urls.py和wsgi.py。文件settings.py指定Django如何与你的系统交互以及如何管理项目。在开发项目的过程中,我们将修改其中一些设置,并添加一些设置。文件urls.py告诉Django应创建哪些网页来响应浏览器请求。
文件wsgi.py帮助Django提供它创建的文件,这个文件名是web server gateway interface(Web服务器网关接口)的首字母缩写。
它还创建了一个名为manage.py的文件,这是一个简单的程序,它接受命令并将其交给Django的相关部分去运行。 我们将使用这些命令来管理诸如使用数据库和运行服务器等任务。

创建数据库

python manage.py migrate  # 通过manage.py创建数据库迁移

首次执行命令migrate时,将让Django确保数据库与项目的当前状态匹配。在使用SQLite(后面将更详细地介绍)的新项目中首次执行这个命令时,Django将新建一个数据库。Django指出它将创建必要的数据库表,用于存储我们将在这个项目(Synchronize unmigrated apps,同步未迁移的应用程序)中使用的信息,再确保数据库结构与当前代码(Apply all migrations,应用所有的迁移)匹配。
其输出表明Django又创建了一个文件——db.sqlite3。SQLite是一种使用单个文件的数据库, 是编写简单应用程序的理想选择, 因为它让你不用太关注数据库管理的问题。

运行项目

python manage.py runserver 8000

创建应用程序

Django项目由一系列应用程序组成,它们协同工作,让项目成为一个整体。

python manage.py startapp learning_logs # 创建名为learning_logs的应用程序

定义模型

# 打开learning_logs/models.py
from django.db import models  
class Topic(models.Model):      
     """用户学习的主题""" 
     text = models.CharField(max_length=200) 
     date_added = models.DateTimeField(auto_now_add=True) 
 def __str__(self):         
  """返回模型的字符串表示"""         
      return self.text

我们需要告诉Django,默认应使用哪个属性来显示有关主题的信息。Django调用方法str()来显示模型的简单表示。在这里,我们编写了方法str(),它返回存储在属性text 中的字符串

激活模型

要使用模型,必须让Django将应用程序包含到项目中。为此,打开settings.py(它位于目录learning_log/learning_log中) ,你将看到一个这样的片段,即告诉Django哪些应用程序安装在项目中:

INSTALLED_APPS = [     
      'django.contrib.admin',     
      'django.contrib.auth',    
      'django.contrib.contenttypes',    
      'django.contrib.sessions',    
      'django.contrib.messages',    
      'django.contrib.staticfiles', 
]

把learning_logs加入这个列表即可

INSTALLED_APPS = [
  ...
  'learning_logs'
]

接下来需要让Django修改数据库,使其能够存储与模型Topic相关的信息

$ python manage.py makemigrations learning_logs

命令makemigrations让Django确定该如何修改数据库,使其能够存储与我们定义的新模型相关联的数据。 输出表明Django创建了一个名为0001_initial.py的迁移文件, 这个文件将在数据库中为模型Topic创建一个表。

接下来迁移数据库

$ python manage.py migrate
每当需要修改“学习笔记”管理的数据时,都采取如下三个步骤:修改models.py;对learning_logs调用makemigrations;让Django迁移项目

你可能感兴趣的:(学习笔记项目)