pythonweb学习|关于django的那些tips
Django是什么?
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
创建django的那些步骤
1.创建程序
- 命令 cmd命令行下 进入到需要创建项目的路径下
- django-admin startproject mysite 创建项目
- cd mysite 进入项目文件夹
- python manage.py startapp app01 创建项目下APP
2.执行程序
- 进入pycharm的 Termnal 输入命令
- python manage.py runserver 127.0.0.1:8000
3.Django默认依赖数据库
配置 ,settings
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"app01",
]中加入APP的名称
生成数据库表:
python manage.py makemigrations #生成配置文件
python manage.py migrate
django 快速搭建blog
- 基本流程
创建项目-->创建应用-->在settings.py中加入应用-->设计Model-->在settings.py中配置数据库-->
创建数据库需要的目录及文件-->创建表-->配置Admin应用-->更新表-->配置urls.py-->
把model注册到Admin中以在Admin窗口中显示(修改models.py文件)-->创建模板-->创建视图函数-->
创建URL模式-->完成
- 创建blog的URL模式
from django.contrib import admin from django.urls import path from blog import views urlpatterns = [ path('admin/', admin.site.urls), path('blog/', views.blog_index), ]
- 设计blog表
from django.db import models # Create your models here. class BlogsPost(models.Model): title = models.CharField(max_length = 150) # 博客标题 body = models.TextField() # 博客正文 timestamp = models.DateTimeField() # 创建时间
- 再次执行数据库同步
mysite> python manage.py makemigrations blog Migrations for 'blog': blog\migrations\0001_initial.py - Create model BlogsPost mysite> python manage.py migrate Operations to perform: Apply all migrations: admin, auth, blog, contenttypes, sessions Running migrations: Applying blog.0001_initial... OK
- 通过Admin 管理
from django.contrib import admin from blog.models import BlogsPost # Register your models here. class BlogsPostAdmin(admin.ModelAdmin): list_display = ['title', 'body', 'timestamp'] admin.site.register(BlogsPost, BlogsPostAdmin)
Django创建的一个web小实例
- models.py中添加如下代码:
- 在setting.py文件中的INSTALLED_APPS 添加myapp,添加结果如下:
- 在DATABASES 中添加如下信息:
- 效果图
Django--网页显示图片
实现wget功能的程序
1 #! /usr/bin/env python
2
3 import sys,urllib
4 def reporthook(*a): print a #reporthook函数会在每块数据下载或传输完成后被调用,
#注释:用(block number, block size, total size)这三个参数调用reporthook函数。
5 for url in sys.argv[1:]:
6 i = url.rfind('/')
7 file = url[i+1:]
8 print url,"-->",file
9 urllib.urlretrieve(url,file,reporthook) #返回二元组(filename, mime_hdrs)
10
===============================
运行结果:
[root@dogood pycode]# python wget.py http://www.python.org/doc/FAQ.html
http://www.python.org/doc/FAQ.html --> FAQ.html
(0, 8192, 6788)
(1, 8192, 6788)
[root@dogood pycode]# ll
total 36
drwxr-xr-x 2 root root 4096 Jan 27 04:24 chat
drwxr-xr-x 2 root root 4096 Jan 31 06:30 core16
-rw-r--r-- 1 root root 6788 Feb 1 04:27 FAQ.html #下载的网页
-rw-r--r-- 1 root root 209 Feb 1 04:27 wget.py
[root@dogood pycode]#
最后
前几天有私信小编要Python的学习资料,小编整理了一些有深度的Python教程和参考资料,从入门到高级的都有,文件已经打包好了,正在学习Python的同学可以下载学习学习。文件下载方式:点击小编头像,关注后私信回复“python”即可下载。首先把代码撸起来!首先把代码撸起来!首先把代码撸起来!重要的事说三遍,哈哈。“编程是门手艺活”。什么意思?得练啊。