• Python中的Django框架


    一。什么是Django及其作用.

    Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!

    Django的特点:

    强大的数据库功能:拥有强大的数据库操作接口(QuerySet API),也能执行原生SQL

    自带强大后台:网站拥有一个强大的后台,轻松管理内容

    优雅的网址:用正则匹配网址,传递到对应函数,随意定义。

    模版系统:易扩展的模版系统,设计简易,代码,样式 分开设计,更容易管理。

    缓存系统:与memcached,redis等缓存系统联用,更出色的表现,更快的加载速度。

    国际化:完全支持多国语言应用,允许定义翻译的字符,轻松翻译成不同国际的语言。

    Django目录结构:

    urls.py:网址入口,关联到对应的Views.py中的一个函数,访问网址对应的函数。

    views.py:处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,数据,输出到网页。

    models.py:与数据库操作相关,存入或读取数据时用到这个

    templates文件夹:views.py中的函数渲染templates中的HTML模版,得到动态内容网页,可以用缓存来提高速度。
    admin.py:后台,可以用很少量的代码就拥有一个强大的后台。

    settings.py:Django的全局设置,配置文件,比如DEBUG的开关,静态文件的位置设置等。

    二。Django中的一些常用命令。

    1、新建一个django project项目:

    (zhang) [root@python zhang]# django-admin startproject pyqi
    (zhang) [root@python zhang]# tree pyqi/
    pyqi/
    ├── manage.py
    └── pyqi
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    
    1 directory, 5 files

    pyqi/根目录只是项目的容器,它的名字与Django无关,可以将它重命名为任何任何名字

    manage.py:一个命令行实用程序,可让你以各种方式与Django项目进行交互

    pyqi:是项目的实际python包,它的名字是你需要用来导入任何内容的python包名

    __init__.py:一个空文件,告诉python这个目录应该被视为一个python包

    settings.py:这是Django项目的设置与配置,Django设置会告诉你有关设置如何工作的所有信息

    urls.py:这是Django项目的URL声明

    wsqi.py:WSGI兼容的Web服务器为你的项目提供服务的入口点

     2、新建app:

    cd project_name  #切换到项目目录下
    python manage.py startapp app_name
    或者
    django-admin.py startapp app-name
    

    3、创建数据库表或更改数据库表或字段

    在APP的models中建立类数据模版
    class userinfo(models.Model):
        username = models.CharField(max_length=32)
        password = models.CharField(max_length=32)
        salary = models.IntegerField()
    生成配置文件:
    (zhang) [root@python pyqi]# python manage.py makemigrations
    Migrations for 'app01':
      app01/migrations/0001_initial.py
        - Create model userinfo
    根据配置文件粗昂居数据库相关表:
    (zhang) [root@python pyqi]# python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, app01, 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 app01.0001_initial... 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 sessions.0001_initial... OK
    复制代码
    

      4、开发服务器使用:

    python manage.py runserver 0.0.0.0:8000
    

      5、清空数据库:

    python manage.py flush
    此命令会把数据全部清空掉,只留下空表

      6、创建超级管理员:

    python manage.py createsuperuser
    根据提示输入用户名、邮箱和密码,邮箱可以为空
    
    python manage.py changepassword username
    修改用户密码
    

      7、导出数据和导入数据:

    导出数据:
    python manage.py dumpdata appname > appname.json
    导入数据:
    python manage.py loaddata appname.json
    

      8、更多命令:

    复制代码
    项目环境终端:
    python manage.py shell
    数据库命令行:
    python manage.py dbshell
    查看命令:
    python manage.py
    

      

  • 相关阅读:
    软考笔记(二)
    软件工程笔记
    安卓反编译
    [转] 扫描二维码自动区分下载Android或者iOS
    git使用技巧总结
    利用iTunes给MP3添加专辑插图
    Flex弹性盒子中`flex-grow`,`flex-shrink`,`flex-basis`的区别
    Android 中Activity和Fragment的启动顺序
    Java 类加载的过程
    Android Studio 查看源码出现throw new RuntimeException("Stub!"); 解决办法
  • 原文地址:https://www.cnblogs.com/hewanli/p/11675893.html
Copyright © 2020-2023  润新知