前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pycharm vscode create Django project

Pycharm vscode create Django project

原创
作者头像
刀枪不入de王二花
修改2022-08-07 23:16:25
5720
修改2022-08-07 23:16:25
举报
文章被收录于专栏:BETTER

Pycharm 创建Django project

提纲:

  • 创建Django project
  • model 作成,migrate移行,自动生成id
  • sqlite链接以及error解决方法【You appear not to have the 'sqlite3' program installed or on your path】

涉及到的命令

代码语言:python
代码运行次数:0
复制
python -m venv envname            # 创建虚拟环境,envName 任意名称
python -m pip install             # 若提示pip错误,执行安装命令

pip install django                # 安装Django
django-admin startproject djpj .  # 创建project,注意:project名称后加个【.】
python manage.py startapp master  # 创建 app
python manage.py dbshell          # 访问数据库

python manage.py makemigrations [app名]   # 生成移行文件,可全部执行,也可指定app执行
python manage.py migrate [app名]          # 执行移行处理,生成表,也可指定app执行
python manage.py createsuperuser          # 创建超级用户

python manage.py runserver [端口号] # 启动服务器,终止服务器 ctrl+c
 
#其他命令
终止虚拟环境:任意路径下执行【deactivate】
启动虚拟环境:进入到虚拟环境路径下【cd venv\Scripts】【activate】

1,安装 python, pycharm,vscode

python

pycharm

vscode

2,pycharm 创建project

File> new project,指定路径,project 名称【djangoTutorial】,选中创建虚拟环境,create 即可

若本地安装了多个版本的python,interpreter选中指定的版本即可。※不同的虚拟环境指定不同版本,实现本地多版本兼容

打开project,terminal 已经默认进入到虚拟环境下。

终止虚拟环境:任意路径下执行【deactivate】

启动虚拟环境:进入到虚拟环境路径下【cd venv\Scripts】【activate】

3,虚拟环境下,安装Django,不指定版本的话,默认安装最新版本

代码语言:javascript
复制
(venv) D:\PycharmProjects\djangoTutorial>pip install django

4,startproject

注意:project名称后加个【.】,这样创建完的阶层:manage.py在项目根目录下。

若不加,manage.py在djpj下,会有个同名文件夹djpj存放项目文件。

代码语言:javascript
复制
(venv) D:\PycharmProjects\djangoTutorial>django-admin startproject djpj .
django-admin startproject djpj . 执行结果
django-admin startproject djpj . 执行结果
django-admin startproject djpj 执行结果 ※不带【.】
django-admin startproject djpj 执行结果 ※不带【.】

※manage.py的位置上决定了执行命令时,是否需要进入到对应目录下

虚拟环境配置好后,终端默认进入到虚拟环境下,project层【(venv) D:\PycharmProjects\djangoTutorial>】

若manage.py在下一层目录中,每次执行命令前,需要先进入到下层目录到manage.py所在目录下。

cd djpj
cd djpj

5,perform Django migrate

Because Django acts as a scaffold to help you bootstrap your web development, it comes prepackaged with several internal data models and will automatically create a SQLite database for you when you apply an initial migration.

①setting.py 会默认配置好SQLite

若想指定其他数据库,参考databases

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

②执行移行命令

python manage.py migrate

代码语言:javascript
复制
(venv) D:\PycharmProjects\djangoTutorial>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK

(venv) D:\PycharmProjects\djangoTutorial>

Django自带的标准表,移行文件在虚拟环境文件夹下

database file
database file

③ 链接sqlite3数据库:

③-1 A5:DB tool利用

追加数据库,指定【db.sqlite3】OK

接续时,无需指定用户名密码,直接【接续】即可

migrate生成的标准表

补充:

③-2 pycharm> database windows:_Professional_feature 只有专业版本才能用。

③-3 也可通过执行命令来看生成的表【python manage.py dbshell 】

  ※直接执行会报错【You appear not to have the 'sqlite3' program installed or on your path

  ①需要下载【sqlite3】工具包 SQLite Download Page

  ②解压后,拷贝到 manage.py同层目录下

拷贝到manage.py同一目录下
拷贝到manage.py同一目录下

通过【python manage.py dbshell】启动sqlite

【.help】查看所有命令,【.tables】查看table list

代码语言:javascript
复制
(venv) D:\PycharmProjects\djangoTutorial>python manage.py dbshell
SQLite version 3.39.2 2022-07-21 15:24:47
Enter ".help" for usage hints.
sqlite> .tables
auth_group                  auth_user_user_permissions
auth_group_permissions      django_admin_log
auth_permission             django_content_type
auth_user                   django_migrations
auth_user_groups            django_session
sqlite>

6,add app

代码语言:javascript
复制
(venv) D:\PycharmProjects\djangoTutorial>python manage.py startapp master

添加到【insatalled_apps】

7,追加model,执行移行命令

移行命令:

代码语言:python
代码运行次数:0
复制
移行命令
(venv) D:\PycharmProjects\djangoTutorial>python manage.py makemigrations   # 生成移行文件
(venv) D:\PycharmProjects\djangoTutorial>python manage.py migrate    # 执行移行处理,生成表

model定义参考

查看生成的移行文件

路径:master>migrations>0001_xxxxx.py

代码语言:python
代码运行次数:0
复制
# Generated by Django 4.1 on 2022-08-07 13:57

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('deleted', models.BooleanField(default=False, verbose_name='削除フラグ')),
                ('deleted_by', models.CharField(default='', max_length=30, verbose_name='削除者')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='登録日時')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新日時')),
                ('created_by', models.CharField(default='', max_length=30, verbose_name='登録者')),
                ('updated_by', models.CharField(default='', max_length=30, verbose_name='更新者')),
                ('product_id', models.IntegerField(default=0, verbose_name='商品ID')),
                ('product_name', models.CharField(default='', max_length=30, verbose_name='商品名')),
            ],
            options={
                'verbose_name': 'テスト',
                'db_table': 'master_product_model',
                'default_permissions': (),
            },
        ),
    ]

查看生成的表,master_product_model

model作成参考Django model,baseModel基类, migrate移行

说明:

model不指定主键的情况,会自动加上id作为表的主键,参考移行文件

主键类型在setting.py 设定

代码语言:python
代码运行次数:0
复制
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' # 若用postgre,数据类型为bigserial
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' # 若用postgre,数据类型为serial
postgre 数据类型参考
postgre 数据类型参考

8,启动服务

代码语言:python
代码运行次数:0
复制
(venv) D:\PycharmProjects\djangoTutorial>python manage.py runserver      # 默认端口8000
(venv) D:\PycharmProjects\djangoTutorial>python manage.py runserver 9000 # 指定端口号

点蓝色link 即可打开初始页

9,Django管理画面

①创建超级用户

代码语言:javascript
复制
(venv) D:\PycharmProjects\djangoTutorial>python manage.py createsuperuser
Username (leave blank to use 'water'): admin
Email address: admin@gmail.com
Password:
Password (again):
Superuser created successfully.

②启动服务后访问 【http://127.0.0.1:8000/admin/】,输入用户名密码

VScode创建项目

创建过程和pycham基本一致,敲命令执行即可。

虚拟环境需要手动创建,并设定interpreter。

1,mkdir djangoTutorial

2,虚拟环境创建命令

到项目路径下,执行创建虚拟环境命令

代码语言:python
代码运行次数:0
复制
D:\PycharmProjects\djangoTutorial>python -m venv envname # envName 任意名称

3,interpreter设定

ctrl + shift + p, 输入【interpreter】,选择下图表示项目

指定刚刚创建的虚拟环境下的 python.exe

例:D:\PycharmProjects\djangoTutorial\venv\Scripts\python.exe

4,创建项目,app等,参照pycharm 3~9

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pycharm 创建Django project
    • 1,安装 python, pycharm,vscode
      • 2,pycharm 创建project
        • 3,虚拟环境下,安装Django,不指定版本的话,默认安装最新版本
          • 4,startproject
            • 5,perform Django migrate
              • ①setting.py 会默认配置好SQLite
              • ②执行移行命令
              • ③ 链接sqlite3数据库:
              • ③-1 A5:DB tool利用
              • ③-2 pycharm> database windows:_Professional_feature 只有专业版本才能用。
              • ③-3 也可通过执行命令来看生成的表【python manage.py dbshell 】
            • 6,add app
              • 7,追加model,执行移行命令
                • 移行命令:
                • model定义参考
                • 查看生成的移行文件
                • 查看生成的表,master_product_model
              • 8,启动服务
                • 9,Django管理画面
                • VScode创建项目
                  • 1,mkdir djangoTutorial
                    • 2,虚拟环境创建命令
                      • 3,interpreter设定
                        • 4,创建项目,app等,参照pycharm 3~9
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档