Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Django学习总结(一) #61

Open
PyxYuYu opened this issue Dec 6, 2016 · 0 comments
Open

Django学习总结(一) #61

PyxYuYu opened this issue Dec 6, 2016 · 0 comments

Comments

@PyxYuYu
Copy link
Owner

PyxYuYu commented Dec 6, 2016

Knowing yourself is the beginning of all wisdom.

0x01 Django

  • Django Blog 学习总结
    • Blog 这个项目跟着书本断断续续的差不多20天,了解了 Django 开发的基本流程,顺带了点 BootstrapSolrTomcat 的知识
    • Django 主要组成部分
      • urls.py
        • 指出什么样的 URL 对应什么样的视图,利用了正则匹配来一一对应
      • models.py
        • 数据模型,用 Python 类来描述数据表,Django 支持 sqlite3Python自带,无需安装),MySQLPostgreSQL等数据库,只需在 settings.py 中更改配置即可切换数据库,每次编辑更改 models.py 文件,如果需要将改动应用到数据库中,需要进行数据迁移(也就是同步到数据库),利用 makemigrationsmakemigrate 命令
      • views.py
        • 页面的业务逻辑,处理用户发起的请求,通过渲染 tempaltes 中的网页模板文件来显示内容
      • templates 文件夹
        • HTML模板,用于被渲染
      • admin.py
      • forms.py
      • settings.py
        • Django 设置和配置文件
    • Django 项目实践步骤
      • 创建一个 project
        • django-admin.py startproject project_name
        • 创建后,生成一个 project_name 文件夹
          project_name/
              manage.py
          	project_name/
          	    __init__.py
          		settings.py
          		urls.py
          		wsgi.py
        
        • manage.py : 一种命令行工具,允许以多种方式和 Django 项目进行交互,python manage.py help 可以查看帮助,无需编辑
        • __init__.py : 空文件,无需编辑,让 Python 认为这是开发所需文件
        • settings.pyDjango 项目的设置和配置文件
        • urls.pyDjango 项目的 URL 设置文件,利用正则匹配将 URL 和视图一一对应
        • wsgi.py : 用 WSGI 应用的配置来运行项目
      • 创建一个 app
        • project_name 文件夹内,创建
          django-admin.py startapp app_name
        
        • 创建后,生成一个 app_name 文件夹
          app_name/
              __init__.py
          	admin.py
          	apps.py
          	models.py
          	tests.py
          	views.py
              migrations/
          	    __init__.py
        
        • migrations 文件夹 : 运行 python manage.py makemigrations 所产生的数据改动文件都会被放在此文件夹内
      • 运行开发服务器
        • python manage.py runserver
          • 默认: http://localhost:8000 仅监听本地连接
          • 更换端口: python manage.py runserver 8888
          • 允许外网或局域网访问: python manage.py runserver 0.0.0.0:8000
            • 局域网访问: http://192.168.0.103:8000
    • Django Tips
      • urls.py 中的 urlpatterns
        • 其中的每一个 URLpattern 都是一个元组
        • 比如: ('^p/$', fun1)
          • 此元组中第一个元素是模式匹配字符串(正则表达式),第二个元素是那个模式将使用的视图函数
        • Django 在检查 URL 模式前,会移除每一个申请的 URL 开头的斜杠 / ,所以写 URLpattern 的时候前面不用写斜杠 / ,末尾结束如果是 /$ 的话,如果匹配的时候,URL 没有输入 /,虽然不匹配,但是默认会将尾部没有斜杠 / 的申请 URL,重定向至尾部包含斜杠的相同字眼 URL (这个情况受 settings.py 中的 APPEND_SLASH 控制,默认 APPEND_SLASH=True 会自动添加斜杠,默认这个参数是没有的)
    • Python Tips
      • #!/usr/bin/env python
        • Shebang ,类 unix 系统根据文件头决定脚本运行方式,可以直接在 shell 中输入 ./XX.py 来运用文件关联程序来打开
      • Python 搜索路径
        • 使用 import 语句,Python 会首先在当前目录查找,如果文件不存在,就在系统设置的目录查找
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant