远程仓库的连接

如果需要将项目上传至远程仓库,参考步骤如下,如不需要,可跳过此步骤

python把当前项目定义 python 项目文件_python

python把当前项目定义 python 项目文件_python把当前项目定义_02

python把当前项目定义 python 项目文件_python把当前项目定义_03

python把当前项目定义 python 项目文件_python_04

 

创建项目

python把当前项目定义 python 项目文件_python_05

python把当前项目定义 python 项目文件_python_06

使用pycharm打开文件

python把当前项目定义 python 项目文件_python把当前项目定义_07

manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互
内层的目录:项目的真正的Python包
_init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包
settings.py:项目的配置
urls.py:项目的URL声明
wsgi.py:项目与WSGI兼容的Web服务器入口

创建应用

配置pycharm环境

python把当前项目定义 python 项目文件_Python_08

python把当前项目定义 python 项目文件_python_09

python把当前项目定义 python 项目文件_python把当前项目定义_10

点击Apply应用

打开Terminal

python manage.py startapp 应用名

以comictest为例

python把当前项目定义 python 项目文件_python把当前项目定义_11

创建模型

在model.py文件中代码如下:

from django.db import models

# Create your models here.

class ComicInfo(models.Model):
    # 默认有id,不用特别添加
    ctitle = models.CharField(max_length=20)
    cdate = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        # 转化字符串
        return self.ctitle


class RoleInfo(models.Model):
    rname = models.CharField(max_length=20)
    rcontent = models.CharField(max_length=50)
    rcomic = models.ForeignKey('ComicInfo',on_delete=models.CASCADE)

    def __str__(self):
        return self.rname

在settings.py文件中,将应用 comictest 添加到应用列表

python把当前项目定义 python 项目文件_python_12

生成迁移文件——>执行迁移

python manage.py makemigrations
python manage.py migrate

此时在migrations目录下会生成文件 0001_initial.py,即为迁移文件

手动创建数据库comicdb,Django中默认使用SQLite

python把当前项目定义 python 项目文件_服务器_13

python把当前项目定义 python 项目文件_python_14

python把当前项目定义 python 项目文件_python_15

    

python把当前项目定义 python 项目文件_Python_16

启用shell命令,可进行简单的练习

python manage.py shell
  • 添加信息
# 引入
>>> from comictest.models import ComicInfo,RoleInfo
>>> from datetime import datetime
# 新建动漫及角色信息
>>> c1=ComicInfo()
>>> c1.ctitle='刀剑神域'
>>> c1.cdate=datetime(year=2002,month=2,day=22)
>>> c1.save()
>>> c2=ComicInfo()
>>> c2.ctitle='东京喰种'
>>> c2.cdate=datetime(year=2014,month=7,day=1)
>>> c2.save()
>>> r1=RoleInfo()
>>> r1.rname='桐人'
>>> r1.rcontent='二刀流'
>>> r1.rcomic=c1
>>> r1.save()
>>> r2=RoleInfo()
>>> r2.rname='金木研'
>>> r2.rcontent='一头白发'
>>> r2.rcomic=c2
>>> r2.save()
  • 修改信息
r2.rcontent='半喰种'
  • 删除信息
>>> r1.delete()
输出结果:
(1, {'comictest.RoleInfo': 1})
  • 输出图书信息
>>> c1
<ComicInfo: 刀剑神域>
>>> c1.ctitle
'刀剑神域'
>>> c1.id
1
  • 查询信息(查询都要经过objects    QuerySet 查询集)
# 查询所有动漫信息
>>> ComicInfo.objects.all()
<QuerySet [<ComicInfo: 刀剑神域>, <ComicInfo: 东京喰种>]>
# 查询当前Comic对象中的所有role
>>> c2.roleinfo_set.all()
<QuerySet [<RoleInfo: 金木研>]>
>>> c2.roleinfo_set.all()[0]
<RoleInfo: 金木研>

创建站点

python manage.py runserver ip:port
如:python manage.py runserver 127.0.0.1:8888

可以不写ip,默认端口为8000

这是一个纯python编写的轻量级web服务器,仅在开发阶段使用

服务器成功启动后,提示如下信息

python把当前项目定义 python 项目文件_python把当前项目定义_17

打开浏览器,输入网址“127.0.0.1:8888”可以打开默认页面

如果修改文件不需要重启服务器,如果增删文件需要重启服务器

通过ctrl+c停止服务器

使用Django的管理

  • 创建超级管理员账户
python manage.py createsuperuser

 按提示输入用户名、邮箱、密码

python把当前项目定义 python 项目文件_python_18

  • 管理界面本地化

在settings.py文件中修改

LANGUAGE_CODE = 'zh-Hans'      # 语言
TIME_ZONE = 'Asia/Shanghai'    # 时区
  • 向admin注册booktest的模型

在admin.py文件中

from django.contrib import admin
from .models import ComicInfo,RoleInfo

# Register your models here.
admin.site.register(ComicInfo)
admin.site.register(RoleInfo)

启动服务器,打开浏览器,输入网址“127.0.0.1:8888/admin/”可进入登录界面,输入上面创建的用户名、密码完成登录

python把当前项目定义 python 项目文件_服务器_19


进入管理站点,默认可以对groups、users进行管理,也可对表数据进行增删改查等操作。