log开发日志

一、创建项目
    1、python -m venv ll_env  # 创建虚拟环境
    2、source ll_env/bin/activate  # 激活虚拟环境
    3、pip install django  # 安装django    
    4、django-admin.py startproject project .  # 创建项目
    5、python manage.py migrate  # 创建数据库
    6、python manage.py runserver  # 测试项目
二、创建应用程序
    1、python manage.py startapp app  # 创建应用程序
    2、vi project/settings.py  # 添加应用程序到INSTALLED_APPS列表中
        INSTALLED_APPS.append('app')
    3、vi project/urls.py  # 添加URL映射
        from django.urls import include
        urlpatterns.append('', include('app.urls', namespace='app'))
    4、vi app/urls.py  # 添加命名空间
        app_name = 'app'
    5、vi app/views.py  # 创建视图
        def view(request): ...
    6、vi app/urls.py  # 创建URL映射
        urlpatterns.append(path('', views.view, name='view'))
    7、vi app/templates/app/view.html  # 创建视图
    8、vi app/models.py  # 创建模型
    9、vi app/admin.py  # 注册模型
    10、python manage.py makemigrations app  # 激活模型
        python manage.py migrate
    11、vi app/forms.py  # 创建表单
        from django import forms
        class form(forms.ModelForm):
            class Meta:
                model = model
                fields = []
                labels = {}
    12、vi app/views.py  # 导入表单并使用
        from .forms import form
    13、vi app/templates/app/form.html  # 在html中创建表单并将数据返回到视图函数之中处理数据
三、创建用户
    1、python manage.py createsuperuser  # 创建超级用户
    2、python manage.py startapp users  # 创建用户账户
    3、vi project/settings.py  # 将users添加到INSTALLED_APPS里
    4、vi project/urls.py  # 添加users的URL映射
        urlpatterns.append(path('users/', inculde('users.urls', namespace='users')))
    5、vi users/urls.py  # 添加users的命名空间
        app_name = 'users'
    6、vi users/urls.py  # 添加登录URL映射
        from django.urls import path
        from django.contrib.auth.views import LoginView
        urlpatterns.append(path('login/', LoginView.as_view(template_name='users/login.html'), name='login'}))
    7、vi users/templates/users/login.html  # 添加模板
    8、vi app/templates/app/base.html  # 添加状态栏
        {% if user.is_authenticated %}
            Hello, {{ user.username }}
        {% else %}
            <a href='{% url users:login %}'>log in</a>
        {% endif %}
    9、vi project/settings.py  # 重定向设置
        LOGIN_URL = '/users/login/'
    10、vi app/models.py  # 将模型关联到客户
        from django.contrib.auth.models import User
        owner = models.ForeignKey(User, on_delete=models.CASCADE)
    11、vi app/views.py  # 添加访问限制
        from django.contrib.auth.decorators import login_required
        @login_required
        if topic.owner != request.user:
            raise Http404