Django项目的创建、Admin后台系统以及数据库迁移

PyCharm新建一个Django项目:

新建项目  —>  Django项目 —> 选择创建位置、项目名、应用名(应用名与项目名不能相同) —> 选择创建Create

     创建项目后,检查文件 setting.py 文件中的配置,如果出现 “ 'DIRS': [BASE_DIR/ 'templates']  ” 语句,一定要进行修改!!!否则运行时会报错。

   

对建立的goods应用进行创建和注册

 view.py 文件:

from django.http import HttpResponse

# Create your views here.

def index(request):
    """商品应用首页视图"""
    return HttpResponse("商品首页!")

def detail(request):
    """商品应用详情页视图"""
    return HttpResponse("商品详情页!")

demo项目的 urls.py 文件:

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('goods/',include('goods.urls')),
]

应用goods中也创建urls.py文件:

from django.urls import path
from goods.views import index,detail

urlpatterns = [
    path('index/', index),
    path('detail/', detail)
]

启动项目,在浏览器中分别访问127.0.0.1:8000/goods/index、127.0.0.1:8000/goods/details,效果如下:

 

 

Admin后台管理系统(可插拔)

浏览器访问路径:127.0.0.1:8000/admin

     Admin系统是创建项目时自带的,不需要单独创立,并且是可插拔的,进入后台管系统必须要有超级管理员身份,而超级管理员的信息默认存储在SQLite数据库的auth-user表中,,而这张表一开始是空白的没有信息的,所以需要在表中加入对应的超级管理员信息后才能登陆访问 Admin 系统

1. 连接SQlite数据库

选择右侧的Database选项 —> 点击 “+” 号 —> 选择 Data Source  —> 选择SQlite

Name 为连接名,可自己输入,首次连接需要下载驱动Driver,直接点击黄色的Download后PyCharm即可自动下载,,File选择项目中的 db.sqlite3 文件,URL会自动生成,,点击Test Connection 测试连接是否成功(出现对号),成功后点击确定,即可在右侧看到数据库的具体信息,并对数据库信息进行修改(可点击右侧的Database进行隐藏/展开)

 执行数据库迁移(在manage.py文件所在目录下执行)

这一步为必须步骤,可防止在后续操作中出现一些奇奇怪怪的小问题

分别执行语句:

        生成迁移文件,即生成sql语句

                python manage.py makemigrations

        执行迁移文件,即执行sql语句

                python manage.py migrat

创建超级用户(python manage.py createsuperuser):

只有用户名和密码为必须输入的选项

密码输入时会隐藏,不会显示出来!!!

再次回到浏览器的登录界面,使用刚刚设置的密码登录即可进入:

Admin系统默认语言为为英文,可通过以下方式设置中文和时区:

在文件 setting.py 中设置中文

方法1:直接更改设置

方法2:设置中间件(最后一行):

添加一个应用和模型:

创建模型类:

在goods子应用的models.py文件中添加模型类

from django.db import models
# Create your models here.
class Goods(models.Model):
    # name      字符类型         最大长度      verbose_name:别名
    name = models.CharField(max_length=50, verbose_name='商品名')  # 显示的名称 别名
    price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='价格')

再次执行数据库迁移的两条指令后,数据库中会生成对应的表

注册模型类:

在应用的admin.py文件中使用admin.site.register()注册模型

from django.contrib import admin
# Register your models here.

# 注册 Goods 模型类
# 语法 admin.site.register(模型名)
from goods.models import Goods
admin.site.register(Goods)

效果如下:

修改模型的显示名称:

修改 models.py 文件内容如下:

from django.db import models
# Create your models here.
class Goods(models.Model):
    # name      字符类型         最大长度      verbose_name:别名
    name = models.CharField(max_length=50, verbose_name='商品名')  # 显示的名称 别名
    price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='价格')
    # 更改模型的显示名称
    class Meta:
        verbose_name = '商品'  # 模型名称(单数)
        verbose_name_plural = verbose_name  # 模型名称(复数)

修改应用的显示名称:

在goods应用的 __init__.py 文件中添加如下代码:

default_app_config = 'goods.apps.GoodsConfig'

在goods/apps.py文件中使用verbose_name设置应用的名称

from django.apps import AppConfig
class GoodsConfig(AppConfig):
name = 'goods'
verbose_name = '商品信息'

效果如下:

之后就可以在admin管理系统中项目进行操作。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顽固油渍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值