当前位置: 首页 > java >正文

【Django】首次创建Django项目初始化

 1. 创建虚拟环境

例如创建虚拟环境为rebort

python3.6 -m venv test/rebort

2. 安装Django

sudo -i
cd test/rebort/bin/
source ./activate
pip install Django

如果是在wingows上安装,同时适用

  • 默认安装会,会在python的安装目前下生成了两个文件
  • 在lib目录下会生成一个diango,这个问就是diango的源代码目录,同时在Scrips下会有一个diamgo-admin.exe(工具,自动将项目做需要的文件夹自动进行创建好)
  • 那么接下来打开dos窗口进行安装diango
  • 安装完成后可以在Python的目录下看到安装的包和程序

3. 创建项目

例如创建项目为django-rebort

以下命令为固定写法,后面跟上自己想要创建的项目名称即可

python django-admin.py startproject django-rebort

或者直接IDE进行创建,当然这里需要专业版本的IDE才可以,不过这种命令行方式也是一样的,这样创建的项目是完整标准的django项目

当不能正常执行上面的命令时,可以把django-admin.py的全路径写出来,例如:

python test-django/rebort/bin/django-admin.py startproject django-rebort

或者你也可以使用下面命令的这种方式

django-admin startproject django-rebort

这样就可以正常创建了

4. 配置setting.py

4.1 数据库配置
当然在此之前,你要建立好数据库,命令如下:

CREATE DATABASE `数据库名称` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

然后通过我们饿IED工具打开我们创建的django项目,在django项目下的setting.py文件下,找到如下填写数据库的位置,填写我们的连接数据库相关字段,django项目已经生成了模版,我们不需要做任何操作,只需要填写自己数据库的连接地址,用户名密码,数据库名即可,如下中文标识部分

# setting.py
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#     }
# }
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': '数据库名称','USER': '使用者','PASSWORD': '数据库密码','HOST': '127.0.0.1',}
}

设置以上信息后,我们还需要安装连接数据库的依赖库

 pip install pymysql 

同时在Django项目中的__init__.py中引用:,当然这里你也可以直接在默认的setting.py文件中直接导入,效果是一样的

import pymysql
pymysql.install_as_MySQLdb()

4.2 设置一下我们的语言,时区等信息

# setting.py
# LANGUAGE_CODE = 'en-us'
#
# TIME_ZONE = 'UTC'
#
# USE_I18N = True
#
# USE_L10N = True
#
# USE_TZ = TrueLANGUAGE_CODE = 'zh-Hans'TIME_ZONE = 'Asia/Shanghai'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = False

4.3设置一下静态路径

# setting.py
# STATIC_URL = '/static/'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATICFILES_FINDERS = ('django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

4.4创建项目APP,APP主要用于后期我们接口开发的一个全局,后续基本都在里面进行接口的开发

例如这里我创建一个APP名字叫rebort-app

cd 项目目录
python manage.py startapp rebort-app

app集合

项目中新建apps与extra_apps文件夹,apps存放自己创建的app,extra_apps存放第三方app。

# setting.py
# 修改setting.py文件中13-17行
import os
import sys# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

最后别忘记了自己创建项目APP后,需要把app添加到INSTALLED_APPS,不然是项目是没办法运行的

最后你可以检查运行一下django项目是不是可以正常的进行运行

python manage.py runserver

如果可以正确启动运行,那么项目没问题了,在运行过程中,你可能会遇到需要安装一些依赖,下面依赖可以直接先安装

Pip install mysqlclient
Pip install pymysql
pip install django-smart-selects
Pip install Celery
Pip install requests下面是初始化生成数据库表和迁移文件的
python manage.py makemigrations
Python manage.py migrate

django创建超级管理员登录默认的django后台管理系统

python manage.py createsuperuser

执行这个命令后,系统会提示你输入一些信息来创建用户,包括:

  • Username (leave blank to use 'username'): 输入你希望设置的用户名。如果不输入,将使用当前目录的名字。

  • Email address: 输入用户的电子邮件地址。

  • Password: 输入并确认用户的密码。

例如:

python manage.py createsuperuser
Username (leave blank to use 'admin'): admin
Email address: admin@example.com
Password: ***********
Password (again): ***********
Superuser created successfully.

3. 访问Django Admin界面

一旦你创建了超级用户,你可以通过访问http://127.0.0.1:8000/admin/(默认情况下)来登录Django的后台管理界面。使用你刚刚创建的超级用户的用户名和密码登录。

4. 确保你的项目可以访问Admin界面

确保你的urls.py文件中已经包含了admin的URL配置:

from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),# 其他URL配置...
]

5. 启动开发服务器

如果你还没有启动开发服务器,可以通过以下命令来启动:

python manage.py runserver

这样,你就可以通过浏览器访问http://127.0.0.1:8000/admin/来管理你的Django项目了。

 

http://www.xdnf.cn/news/19058.html

相关文章:

  • “帕萨特B5钳盘式制动器结构设计三维PROE模型7张CAD图纸PDF图“
  • 人工智能基础概念
  • 秋招笔记-8.28
  • 总结:在工作场景中的应用。(Excel)
  • Dify学习
  • 响应式编程框架Reactor【1】
  • Python 多版本环境治理理念驱动的系统架构设计——三维治理、四级隔离、五项自治 原则(路径治理升级修订 V 2.0 版)
  • 【深度学习新浪潮】显著性检测最新研究进展(2022-2025)
  • 上线问题——Mac系统下如何获取鸿蒙APP证书公钥和MD5指纹
  • 高并发内存池(14)- PageCache回收内存
  • Node.js的特性
  • 损失函数,及其优化方法
  • JS中的String总结
  • 2002-2020年全国投入产出表数据
  • Python 中的反射机制与动态灵活性
  • 实测阿里图像编辑模型Qwen-Image-Edit:汉字也能无痕修改(附实测案例)
  • react+vite+ts 组件模板
  • DAY-16-数组的常见操作和形状-2025.8.28
  • FISCO-BCOS-Python 模板
  • RAG概念被误用:AI应用落地需回归上下文工程本质
  • 解锁AI“黑匣”:监督、无监督与强化学习探秘
  • 切入高潜市场,抢占行业先机!ES SHOW 2025展位预订火爆,10月28-30日共启增长新蓝海
  • flutter Function和自定义的Callback有什么区别?
  • 自动化三维测量仪工业零件自动外观三维测量-中科米堆CASAIM
  • Linux系统资源分配算法在VPS云服务器调优-性能优化全指南
  • 【DAB收音机】DAB 信号发生器介绍
  • C++源代码批量转码utf8
  • SystemVerilog学习【六】功能覆盖率详解
  • 【动态规划】简单多状态 dp 问题
  • 【lucene】advanceShallow (int target) 与advance(int target)