本文内容包括Django安装以及实现一个简易网站Demo
参考自Python Tutorial for Beginners [Full Course] Learn Python for Web Development
本人环境Ubuntu18.04,python3.6
文章目录
Django安装
一条命令解决
pip3 install django
如果在国内安装出现超时可以更换pip源,例如
pip3 install django -i https://pypi.tuna.tsinghua.edu.cn/simple/
以下是可选参考源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
豆瓣 http://pypi.doubanio.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
基础使用
创建一个django项目
在pycharm中新建项目
在项目中打开终端,输入
django-admin startproject pyshop .
.表示在当前目录下创建django项目,如果不加.就会变成同级目录
执行之后项目结构如下
尝试运行server
继续在pycharm终端中输入
python manage.py runserver
可能会出现错误
ModuleNotFoundError: No module named ‘pytz’
import一下对应的Module就好了,终端输入命令
pip3 install pytz
安装成功后,重新输入
python manage.py runserver
在浏览器中打开http://127.0.0.1:8000/
成功运行Django server
创建一个简易网站
创建app模块
返回pycharm,重新打开一个pycharm终端,输入
python manage.py startapp products
项目结构如下
Hello World(理解views和urls)
views.py //执行响应的代码所在模块 代码逻辑处理主要地点 项目大部分代码在此编写
urls.py //URL配置文件 Django项目中所有地址中(页面)都需要我们自己去配置其URL
首先我们打开/pyshop/urls.py
查看django自动生成的帮助注释
The
urlpatterns
list routes URLs to views. For more information
please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/ Examples: Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path(’’, views.home, name=‘home’) Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path(’’, Home.as_view(), name=‘home’) Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path(‘blog/’, include(‘blog.urls’))
注释提供了如何将视图与url绑定的流程,通过显示Hello World来让大家熟悉一下流程
- 打开products/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
- 打开products,在该目录下新建urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index)
]
- 打开pyshop/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('products/', include('products.urls'))
]
在浏览器中输入http://127.0.0.1:8000/products/,就能看到显示Hello World了
models,migrations,settings
models.py //数据模块
migrations //数据移植(迁移)模块
settings.py //项目的总配置文件 里面包含数据库 web应用 时间等各种配置
- 打开 /products/models.py
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=255)
price = models.FloatField()
stock = models.IntegerField()
image_url = models.CharField(max_length=2083)
- 打开 /pyshop/settings.py
INSTALLED_APPS = [
……
'products.apps.ProductsConfig'
……
]
对应的是/proucts/apps.py当中的ProductsConfig
- 打开pycharm终端
python manage.py makemigrations
得到
Migrations for ‘products’:
products/migrations/0001_initial.py
- Create model Product
python manage.py migrate
此时django就自动为我们在数据库当中创建对应Model的表了
admin
admin.py //该应用后台管理系统配置
配置superuser
- 打开终端输入
python manage.py createsuperuser
按照流程输入完用户名,邮箱,密码,就配置完成
- 打开浏览器,输入http://127.0.0.1:8000/admin/,就可以使用后台了
利用admin管理数据库
- 打开/products/admin.py
from django.contrib import admin
from .models import Product
admin.site.register(Product)
此时就可以直接通过后台增减数据库了
我们任意添加一条数据
查看页面时发现并不会显示记录信息
- 可视化记录的信息
打开/products/admin.py
from django.contrib import admin
from .models import Product
class ProductAdmin(admin.ModelAdmin):
list_display = ('name', 'price', 'stock')
admin.site.register(Product, ProductAdmin)
后台部分到此为止啦~ 中场休息一下~
To be continued…