python:第一次使用python+django创建博客demo(博客实现——1、注册界面)

注册界面的实现

实现注册界面,包括以下五个步骤

1、创建用户模块子应用,注册用户子应用

1.1 创建用户子应用

在项目的虚拟环境 blog 中创建用户模块

PS E:\pythonSave\blog\blog_python\blog> workon

Pass a name to activate one of the following virtualenvs:
==============================================================================
blog
PS E:\pythonSave\blog\blog_python\blog> workon blog
PS E:\pythonSave\blog\blog_python\blog> python manage.py startapp users
PS E:\pythonSave\blog\blog_python\blog>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 注册用户子应用

settings.py中找到INSTALLED_APPS,追加注册

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 子应用注册
    'users.apps.UsersConfig',
]

2、创建模板目录,设置模板路径

2.1 创建模板目录

在这里插入图片描述

2.2 设置模板路径

settings.py中找到TEMPLATES,设置模板路径os.path.join(BASE_DIR, 'templates')

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        # 配置模板路径
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

3、定义用户注册视图

templates中添加注册页面register.html(包含完整的页面内容),
在这里插入图片描述

然后在子用户users>views.py页面中定义注册视图

from django.shortcuts import render

# Create your views here.

# 注册视图
from django.views import View

class RegisterView(View):
    def get(self, request):
        return render(request, 'register.html')

4、定义用户注册路由

1、在users中新建一个urls.py,用于管理子应用的视图路由

# 用于管理子应用视图的路由
from django.urls import path
from users.views import RegisterView

urlpatterns = [
    # 第一个参数:路由;第二个参数:视图函数名
    path('register/', RegisterView.as_view(), name='register')
]

2、在blog>urls.py中进行子应用路由引导

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

urlpatterns = [
    path('admin/', admin.site.urls),
    # 子应用路由引导
    # include参数接收一个元组:urlconf_module, app_name
    # urlconf_module:子应用路由, app_name:子应用名字
    # namespace命名空间,可以防止不同子应用间的路由冲突
    path('', include(('users.urls', 'users'), namespace='users'))
]

到这里,运行项目,register页面是可以正常访问和显示的

5、修改静态文件加载方式

修改前:html页面没有引入css文件和js文件,所以样式错乱

<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
<script src="iconfont.js"></script>

在这里插入图片描述

修改后:正确引入css文件和js文件,页面样式正常

{% load staticfiles %}
<link rel="stylesheet" href="{% static 'demo.css' %}">
<link rel="stylesheet" href="{% static 'iconfont.css' %}">
<script src="{% static 'iconfont.js' %}"></script>

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值