Django学习笔记(二)——创建APP

创建应用程序

前面打开的终端窗口运行着runserver,再打开一个终端窗口,并切换到manage.py所在的目录。激活该虚拟环境,执行命令startapp;

twr@twr-911K:~/learning_log$ source ll_env/bin/activate
(ll_env) twr@twr-911K:~/learning_log$ python manage.py startapp learning_logs
(ll_env) twr@twr-911K:~/learning_log$ ls
db.sqlite3  learning_log  learning_logs  ll_env  manage.py
(ll_env) twr@twr-911K:~/learning_log$ ls learning_logs
admin.py  apps.py  __init__.py  migrations  models.py  tests.py  views.py

定义模型

models.py中导入了模块models,我们可以自行定义模型

激活模型

打开settings.py,将INSTALLED_APPS修改如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    #myapps
    'learning_logs',
]

让Django修改数据库,在终端窗口中执行下面的命令:

(ll_env) twr@twr-911K:~/learning_log$ python manage.py makemigrations learning_logs
Migrations for 'learning_logs':
  learning_logs/migrations/0001_initial.py
    - Create model Topic

迁移修改:

(ll_env) twr@twr-911K:~/learning_log$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, learning_logs, sessions
Running migrations:
  Applying learning_logs.0001_initial... OK

Django管理网站

创建超级用户

终端输入如下命令:

python manage.py createsuperuser

向管理网站注册模型

修改admin.py

from django.contrib import admin

# Register your models here.
from learning_logs.models import Topic

admin.site.register(Topic)

访问http://localhost:8000/admin/
在这里插入图片描述在这里插入图片描述

创建网页

映射url

learning_log中的urls.py文件:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('learning_logs.urls',namespace='learning_logs')),
]

admin.site.urls模块定义了可在管理网站中请求的所有url
下面一行则将learning_logs的url同项目中的url区分开来。
在learning_logs文件夹中创建一个新的url.py:

from django.conf.urls import url
from . import views

urlpatterns = [
        url(r'^$', views.index, name='index'),
]

app_name = 'learning_logs'

from django.conf.urls import url:导入函数url,用来将url映射到视图
from . import views:导入模块views,其中的句点将当前的urls.py模块所在的文件夹中导入视图。
urlpatterns:列表,包含可在应用程序learning_logs中请求的网页。里面是对函数url()的调用,函数中有三个实参。第一个是一个正则表达式。定义了Django可查找的模式(查找开头和结尾之间没有任何东西的url)。第二个实参指定了要调用的视图函数,请求的url与前述正则表达式匹配时,Django将调用views.index。第三个实参将这个url模式的名称指定为index。

编写视图

from django.shortcuts import render

# Create your views here.
def index(request):
    return render(request, 'learning_logs/index.html')

render()提供了两个实参:原始请求对象以及一个可用于创建网页的模板。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值