Django(二)Django 项目创建

编程入门 行业动态 更新时间:2024-10-09 12:31:24

Django(二)Django <a href=https://www.elefans.com/category/jswz/34/1771421.html style=项目创建"/>

Django(二)Django 项目创建

一、创建项目

在项目工作目录 D:\WorkSpace\Python 激活 Py372Django 虚拟环境,如下所示:

D:\WorkSpace\Python>workon Py372Django
(Py372Django) D:\WorkSpace\Python>

输入创建项目命令:django-admin.py startproject DjangoPro ,如下所示:

(Py372Django) D:\WorkSpace\Python>django-admin.py startproject DjangoPro

进入项目目录

cd DjangoPro

在项目目录下有如下文件:

manager.py  命令行工具,可以使我们以多种方式对 Django 项目进行交互
如果使用 PyCharm IDE 则可以通过 菜单栏 → Tools → Run manage.py Task 启动 manager.py 工具

 进入二级 DjangoPro 目录,在该目录下有如下几个文件:


settings.py 项目的配置文件
urls.py 项目的 URL 配置文件
wsgi.py 项目与 WSGI 兼容的 Web 服务器入口

二、创建应用

通过 python manage.py startapp xxx 命令创建 book 应用,如下代码:

(Py372Django) D:\WorkSpace\Python\DjangoPro>python manage.py startapp book

在 book 应用的 models.py 文件中编写模型代码,比如:

from django.db import models# Create your models here.class BookInfo(models.Model):btitle = models.CharField(max_length=20)bpubdate = models.DateTimeField()# 这里的 self.pk 是指 primary_key 主键def __str__(self):  # 这里可以设置管理界面显示图书信息的格式# return str(self.pk) + '\t' + self.btitle + '\t' + str(self.bpubdate)return self.btitleclass HeroInfo(models.Model):hname = models.CharField(max_length=20)hgender = models.BooleanField()hcontent = models.CharField(max_length=255)# 如果出现如下错误: 则需要增加 on_delete=models.CASCADE 参数# TypeError: __init__() missing 1 required positional argument: 'on_delete'hbook = models.ForeignKey(BookInfo, on_delete=models.CASCADE)  # 通过 id 引用外键def __str__(self):# return str(self.pk) + '\t' + self.hname + '\t' + self.hcontentreturn self.hname

模型代码写完之后,进入应用的注册。

三、注册应用

打开 settings.py 文件,在 INSTALLED_APPS 注册应用 'book',代码如下:

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

四、生成迁移文件:根据模型类生成当前选择的数据库对应的 SQL 语句

(Py372Django) D:\WorkSpace\Python\DjangoPro>python manage.py makemigrations

这个时候在应用 book 的 migrations 目录下会生成 0001_initial.py 文件。

五、执行迁移文件:执行 SQL 语句,生成对应的表结构

(Py372Django) D:\WorkSpace\Python\DjangoPro>python manage.py migrate

这时候会把 settings.py 配置文件中注册的应用生成对应的表结构。

注意,这里使用的是默认的数据库 db.sqlite3 ,使用 PyCharm 开发时,在查看 db.sqlite3 数据库的时候,发现无法查看表结构,则在操作界面里面有 Download 链接,点击下载驱动,过程如下:

db.sqlite3 Data Source

 

安装 db.sqlite3 驱动程序

六、创建管理员账号:通过 python manage.py createsuperuser 并根据提示输入用户名 密码 邮箱,如下代码:

(Py372Django) D:\WorkSpace\Python\DjangoPro>python manage.py createsuperuser
Username (leave blank to use 'administrator'): zhenglushan
Email address: 276517382@qq
Password:a5s7sh4u
Password (again):a5s7sh4u
Superuser created successfully.

七、启动项目

(Py372Django) D:\WorkSpace\Python\DjangoPro>python manage.py runserver 127.0.0.1:8000

然后打开 http://127.0.0.1:8000/admin/ 即可访问管理界面。

到这里,Django 项目算是创建完成了,下面就是进行开发了。

知识点

1、将模型添加到 Django Admin 管理:打开 book/admin.py 编写如下代码

from django.contrib import adminfrom book.models import BookInfo
from book.models import HeroInfoadmin.site.register(BookInfo) # 注册 BookInfo 模型
admin.site.register(HeroInfo) # 注册 HeroInfo 模型

2、将模型显示方式添加到 Django Admin 管理:打开 book/admin.py 编写如下代码

from django.contrib import admin# Register your models here. 在这里注册你的模型,
# 注册时,同时也可以加上显示方式from book.models import BookInfo
from book.models import HeroInfo# 定义模型在 Admin 界面的显示方式
class BookInfoAdmin(admin.ModelAdmin):# 列表页属性# 显示字段,可以点击列头进行排序list_display = ['id', 'btitle', 'bpubdate']# 过滤字段,过滤框会出现在右侧list_filter = ['btitle']# 搜索字段,搜索框会出现在上侧search_fields = ['btitle']# 分页,分页框会出现在下侧list_per_page = 1# 添加或修改页面属性# 定义属性显示的先后顺序# fields = ['bpubdate','btitle']# 定义属性分组,或者说分成几个部分进行显示fieldsets = [('basic', {'fields': ['btitle']}),('more', {'fields': ['bpubdate']})]# 定义模型在 Admin 界面的显示方式
class HeroInfoAdmin(admin.ModelAdmin):list_display = ['id', 'hname', 'hcontent']admin.site.register(BookInfo, BookInfoAdmin)
admin.site.register(HeroInfo, HeroInfoAdmin)

3、修改编码和时区:

打开项目目录下的 settings.py 文件,做如下配置项的修改:

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'  # 设置编码
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'  # 设置时区
# 编码和时区设置完成之后,重启服务器,登录服务器,发现界面变成中文界面了。

4、修改后台登录地址:

后台默认的登录地址为 /admin/ 如果修改成其他的,打开项目目录下的 urls.py 文件,做如下修改:

urlpatterns = [#path('admin/', admin.site.urls), # 管理页面默认访问路径path('zlsadmin/', admin.site.urls), # 修改管理页面访问路径
]

5、修改数据库类型:

Django 默认使用的是 db.sqlite3 数据库,该配置代码在项目目录下的 settings.py 文件的 DATABASES 配置项,如何修改成 MySQL 数据库配置呢?

首先需要安装 MySQL 数据库,然后在虚拟环境下安装 MySQL 驱动,代码如下:

pip install mysqlclient

 接着修改 DATABASES 配置项,代码如下:

DATABASES = {# 需要安装 mysql 驱动,在虚拟环境中执行 pip install mysqlclient 命令'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'djangoedu','USER':'root','PASSWORD':'root','HOST':'localhost'}
}

修改数据库类型的配置就完成了。 

更多推荐

Django(二)Django 项目创建

本文发布于:2024-02-27 18:59:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766185.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:项目   Django

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!