飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一:创建工程
1:创建工程:

(python39_django) ubuntu@python:~$ cd Desktop/
(python39_django) ubuntu@python:~/Desktop$ django-admin startproject demo
(python39_django) ubuntu@python:~/Desktop$ ls -a
.             pycharm.desktop                      stock_db.sql
..            PyMySQL-0.7.11-py2.py3-none-any.whl  课堂笔记-1-参考.sql
demo          python39                             终极复习
git_practice  python_test_1.sql
navicat       redis

2:运行开发服务器:

(python39_django) ubuntu@python:~/Desktop$ cd demo/
(python39_django) ubuntu@python:~/Desktop/demo$ python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

August 25, 2020 - 02:34:53
Django version 2.2.5, using settings 'demo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[25/Aug/2020 02:36:16] "GET / HTTP/1.1" 200 16348
[25/Aug/2020 02:36:16] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[25/Aug/2020 02:36:16] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
[25/Aug/2020 02:36:16] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
Not Found: /favicon.ico
[25/Aug/2020 02:36:16] "GET /favicon.ico HTTP/1.1" 404 1970
[25/Aug/2020 02:36:16] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692


python manage.py runserver ip:端口
可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000
settings.py 是项目的整体配置文件。
urls.py 是项目的URL配置文件。
wsgi.py 是项目与WSGI兼容的Web服务器入口。
manage.py 是项目管理文件,通过它管理项目。
django默认工作在调式Debug模式下,如果增加、修改、删除文件,服务器会自动重启。
按 ctrl+c 停止服务器。

3:使用pycharm打开并配置项目:
打开后,点击file ------ setting ----- project demo (你的项目名) —> project interpreter —>点击齿轮–>点击加号–>选择虚拟环境的解释器。如果找不到使用命令行 which python 可以打印出虚拟环境的python解释器的位置,然后复制到pycharm中就可以了。

点击导航栏中的manage —>Edict config -->parameters —>填上runserver。

二:工程配置:工程的配置文件是 settings.py
1:找base_dir,当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。

ASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

2:找到debug :默认是True,即默认工作在调试模式下。
作用:
修改代码文件,程序自动重启
Django程序出现异常时,向前端显示详细的错误追踪信息
特别注意:部署线上运行的Django不要运行在调式模式下,记得修改DEBUG=False。不然一旦出现问题,源码内部结构可能被泄露。

3:本地语言和时区:
初始化的工程默认语言和时区为英语和UTC标准时区

LANGUAGE_CODE = 'en-us' # 语言:英语

TIME_ZONE = 'UTC' # UTC标准时区

将语言和时区修改为中国大陆信息

LANGUAGE_CODE = 'zh-hans' # 语言:简体中文

TIME_ZONE = 'Asia/Shanghai' # 亚洲上海

三:子应用解决的问题(了解)
在Web应用中,通常有一些业务功能模块是可以在不同的项目中复用的。
所以,在开发中通常将项目工程拆分为不同的子功能模块。
而且各功能模块间保持了相对的独立,在其他项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。

四:子应用的作用:拆分并管理功能模块
1:创建子应用:
在上一步创建的 demo工程中,创建一个专门管理 用户模块 的子应用.

cd ~/Desktop/demo/

django-admin startapp users
或者
python manage.py startapp users

也可以在pycharm终端中直接输入:

(python39_django) ubuntu@python:~/Desktop/demo$ python manage.py startapp users
(python39_django) ubuntu@python:~/Desktop/demo$ 

2:子应用目录的介绍:
admin.py 文件跟网站的后台管理站点配置相关。(重点)
apps.py 文件用于配置当前子应用的相关信息。
migrations 目录用于存放数据库迁移历史文件。
models.py 文件用户保存数据库模型类。(重点)
tests.py 文件用于开发测试用例,编写单元测试。
views.py 文件用于编写Web应用视图。(重点)

3:注册子应用:
创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:

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

注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。
方法一:直接将子应用目录加入。这种实际上也是找users下面的apps.py中的Config类。

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

方法二:users下面的apps.py中的Config类

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

方法三:在settings.py中导入user.apps,然后直接加入UserConfig(不推荐)

posted on 2020-08-25 13:38  飞行的猪哼哼  阅读(57)  评论(0)    收藏  举报