收起左侧

[Python] Django入门教程

1
回复
[复制链接]
avatar
  • TA的每日心情
    qdsmile
    2023-12-4 20:41
  • 签到天数: 9 天

    [LV.3]偶尔看看

    1

    主题

    3

    帖子

    61

    积分

    发表于 2023-10-19 17:25:12 | 显示全部楼层 |阅读模式
    Django
    创建django项目 1. 在终端
    django-admin startproject 项目名称        即可创建出一个项目(一个文件夹)
    2. 在pycharm终端中创建一个app(需要进入到工程的目录下才可以执行manage.py文件)
    python manage.py startapp app的名称      
    3. 在工程中的settings.py文件中将创建的app文件夹下的apps.py文件中的那个类进行注册
    4. 启动项目
    python manage.py runserver
    # 注意:from导入时  格式为  from 文件夹.文件夹 import python文件,
    # 注意必须保证文件夹下__init__.py 文件才能用. 把东西点出来


    # 注意:在进行操作之前,要先将在settings.py中设置连接的数据库
    5. 对数据库修改进行迁移,makemigrations可以将自己在models.py中写的那些类的信息,写入到migrations文件夹里面去
    python manage.py makemigrations  
    # 然后,migrate就是将migrations文件夹中的信息更新,写到数据库中,即:将数据表创建到数据库中
    python manage.py migrate
    6. 创建管理员
    python manage.py createsuperuser 来创建超级用户
    7.然后自己设置数据库的字段,创建的在models.py中创建的每一个类都是一个数据表,当某一个类在model.py中创建完成后,需要到admin.py中注册这个类
    admin.site.register(数据表类名)

    关于settings.py # 1.INSTALLED_APPS 中需要将每次我们创建的app注册到这里

    # 2.DATABASES 里面需要对连接的数据库进行配置

    # 3.对语言进行修改:LANGUAGE_CODE = 'zh-Hans'

    # 4.对时区进行修改:TIME_ZONE = 'Aisa/Shanghai'

    # 5.BASE_DIR = Path(__file__).resolve().parent.parent  
    # BASE_DIR 表示的是当前工程的路径


    # 6.TEMPLATES 里面的 'DIRS'这一项写上路径:
             'DIRS': [os.path.join(BASE_DIR, 'templates')], 指定了找模板时的路径
         
    # 7.STATIC_URL = 'static/'  表示的是当访问的是url是static时,就匹配静态的资源
    # 然后,添加一项:STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'),] 表示当用户访问static的路由的时候,服务器会到对应的工程的目录下的static目录找资源


    # 8.ROOT_URLCONF = 'web.urls' 表示了用户访问的时候的路由的入口


    数据库操作 1.首先需要启动mysql
    net start mysql57
    2.连接mysql
    mysql -u root -p
    3.创建数据库
    create database mygame default charset=utf8;
    4.进入数据库
    use mygame;
    5.查看当前数据库的所有数据表
    show tables;
    在创建了数据库之后,在django项目中settings.py中修改配置
    ps:注意,必须要在原先的项目下创建一个app才可以使用数据库
    • 创建项目:django-admin startproject HelloWorld
    • 创建app:django-admin startapp TestModel   (而且创建完app后,需要将app注册到settings中)

    'default':
         {
             'ENGINE': 'django.db.backends.mysql',  # 数据库引擎
             'NAME': 'mygame',  # 数据库名称
             'HOST': '127.0.0.1',  # 数据库地址,本机 ip 地址 127.0.0.1
             'PORT': 3306,  # 端口
             'USER': 'root',  # 数据库用户名
             'PASSWORD': 'Sz123456',  # 数据库密码
         }
    此外,还需要告诉 Django 使用 pymysql 模块连接 mysql 数据库
    # 在工程目录与 settings.py 同级目录下的 __init__.py 中引入模块和进行配置
    import pymysql
    pymysql.install_as_MySQLdb()

    注意:
    • 表名组成结构为:应用名_类名。
    • 尽管我们没有在 models 给表设置主键,但是 Django 会自动添加一个 id 作为主键。



    修改配置 我们需要向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [os.path.join(BASE_DIR, 'templates')],
    路由分发
    Django 项目里多个app目录共用一个 urls 容易造成混淆,后期维护也不方便。
    解决:使用路由分发(include),让每个app目录都单独拥有自己的 urls。
    步骤:
    • 1、在每个 app 目录里都创建一个 urls.py 文件。
    • 2、在项目名称目录下的 urls 文件里,统一将路径分发给各个 app 目录。

    在总urls.py文件中
    from django.contrib import admin
    from django.urls import path,include # 从 django.urls 引入 include
    urlpatterns = [
         path('admin/', admin.site.urls),
         path("app01/", include("app01.urls")),
         path("app02/", include("app02.urls")),
    ]
    avatar
  • TA的每日心情
    qdsmile难过
    2025-1-4 15:41
  • 签到天数: 5 天

    [LV.2]小吧熟人

    0

    主题

    4

    帖子

    30

    积分

    发表于 2024-10-25 16:16:43 | 显示全部楼层
    过来学习学习
    您需要登录后才可以回帖 登录 | 立即注册 QQ登录

    本版积分规则