Django_急速掌握002 -- 新建app

2023-12-31 15:58
文章标签 app django 掌握 新建 002 急速

本文主要是介绍Django_急速掌握002 -- 新建app,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Django的文档有中文版的了:https://docs.djangoproject.com/zh-hans/2.1/

 

      

(1)新建项目

       开发django项目,首选pycharm。在pycharm里,新建一个项目名YourPorjectName即可。

 

       如果是要在命令行里,就先cd到你的某个文件夹下,比如django-proejct,然后输入命令

              Django-admin startproject YourProjectName

       两种方法都可以。

 

       这时就会创建出来你的项目的根目录,名字就是YourPorjectName。里面会默认创建出来一系列基础的项目文 件和文件夹。

       在你的项目根目录下\YourPorjectName,有一个文件夹名字必须叫做templates,是用来存放你的页面文件的;

 

       根目录下还有一个跟这个项目同名的文件夹,是这个项目的主要出入口文件。

      

       所以现在你的项目文件夹长成这个样子了:

YourProjectName/
    templates/
    manage.py
    YourProjectName/
        __init__.py
        settings.py
        urls.py
        wsgi.py
*上面的settings.py和urls.py在后面的描述里经常用到,所以如果没有特殊说明的话后面说的settings.py和urls.py就是YourPrpjectName/YourProjectName/ 下的这个两个文件

接下来在项目的根目录下创建一个叫static的文件夹,用来存放项目的静态文件。

关于项目的static目录和templates目录的说明,见后面的: 项目搜索目录的介绍。目前这么做只是为了让项目能跑起来。

 

(2)新建一个app,注意这个不是新建项目

在pycharm的Tools一栏里找到 Run manage.py Task ,点击,然后屏幕下面就会出现manage.py 的命令行 shell 。在这个命令行里输入starapp YourAppName ,然后就会自动生成一个名为YourAppName的文件夹,这个文件夹下面就是该app的数据库和各种接口等文件

 

如果是在命令行 就要先cd到你项目根目录文件夹下,然后输入

        python manage.py startapp YourAppName

以后需要manage.py干别的活时也是这个套路

需要注意的是,使用manage.py创建项目的时候,项目名必须符合python关于变量名的规定。所以你可以写成Your_app,但是不能写成You-app.

 

              这个app的文件目录长成这个样子:

              YourAppName/

            __init__.py
            admin.py
            apps.py
            migrations/
                __init__.py
    models.py
    tests.py
    urls.py
    views.py
 

然后你的项目根目录就变成这样了:

YourProjectName/
    manage.py
    templates/
    YourProjectName/
        __init__.py
        settings.py
        urls.py
        wsgi.py

                     YourAppName/

        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        urls.py
        views.py
        migrations/
             __init__.py

       再新建一个app可以起名叫OneMore

(3)注册你的app,

       修改该项目根目录下的settings.py文件,找到INSTALLED_APPS变量,把你新建的app的名字加进去,比如:

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

后面那个YourAppName和OneMore就是需要你后加上去的。

        *这个列表里所有的元素就是你这个项目运行起来之后可以直接当作一个模块引用和访问的

*注意,每次新建一个app之后,要做的第一件事就是把这个appsettings.py里注册一下。否则就会出现找不到模块和找不到文件的情况很多时候网页访问错误就是这么产生的。
 

这篇关于Django_急速掌握002 -- 新建app的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556516

相关文章

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

对Django中时区的解读

《对Django中时区的解读》:本文主要介绍对Django中时区的解读方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景前端数据库中存储接口返回AI的解释问题:这样设置的作用答案获取当前时间(自动带时区)转换为北京时间显示总结背景设置时区为北京时间 TIM

Django之定时任务django-crontab的实现

《Django之定时任务django-crontab的实现》Django可以使用第三方库如django-crontab来实现定时任务的调度,本文主要介绍了Django之定时任务django-cront... 目录crontab安装django-crontab注册应用定时时间格式定时时间示例设置定时任务@符号

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32