Skip to content

tankchenggeng/study-django

Repository files navigation

开发一个物料管理系统

1. 创建项目aisystem

$ django-admin startproject aisystem

在根目录下生成了aisystem项目文件夹,里面包含了一个名为manage.py的管理程序,和一个名为aisystem的项目配置文件夹.项目配置文件夹中包含了_init_.py, settings.py,urls.py,wsgi.py.

2. 创建应用

进入项目目录下执行以下命令

$ python3 manage.py startapp materialsystem

在项目文件夹下多了一个materialsystem应用文件夹,内部包含了一个用于数据库迁移的migrations文件夹,以及_init_.py,admin.py,apps.py,models.py,tests.py,views.py

3. 添加应用到项目

将应用名添加到项目配置文件夹下的settings.py中:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'materialsystem',  # 添加应用名在最后
]

同时settings.py设置项目数据库:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'aisystem.db'),
    }
}

4. 迁移数据库

$ python3 manage.py makemigrations
$ python3 manage.py migrate

在项目文件夹下会生成一个aisystem.db数据库

5. 运行

$ python3 manage.py runserver

终端显示

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
July 09, 2020 - 08:15:24
Django version 2.2.4, using settings 'aisystem.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

打开浏览器输入http://127.0.0.1:8000/,可以看到django.即表示项目搭建成功.

多应用开发

删除应用文件夹materialsystem下的test.py,新建urls.py,添加如下内容:

from django.urls import path
from django.contrib import admin
 
app_name = 'materialsystem'
 
urlpatterns = [
    path('admin', admin.site.urls),
]

项目涉及到多应用,所以需要使用到路由分发,用户使用materialsystem应用,所以我们在项目下url设置路由分发,将用户登录的url分发到materialsystem应用下,在项目配置文件夹下的urls.py添加应用的urls.

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

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

About

django2.2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published