blog

  • login.html
{% load static %}




  
  
  
  登陆



  
{% csrf_token %}

{{ msg }}

  • regist.html
{% load static %}




    
    
    
    注册



    
{% csrf_token %}

{{ msg }}

  • /app/urls.py
from django.contrib import admin
from django.urls import path,re_path
from blog import views



urlpatterns = [
    path('',views.index),
    path('index',views.index),
    re_path('article/(\d+)',views.article),
    path('login/',views.logins),
    path('regist/',views.regist),
    path('logout/',views.log_out),
]

  • index.html
{% load static %}




    
    
    
    首页



    
        {% endif %}
    
{% for ar in articles_list %}
{{ ar.title }}
{{ ar.create_date }} admin
{% endfor %}
可爱的小狗
2020年6月29日 admin
可爱的小狗
2020年6月29日 admin
可爱的小狗
2020年6月29日 admin
可爱的小狗
2020年6月29日 admin
  • article.html
{% load static %}




    
    
    
    文章



    
    

{{ artc.title }}

{{ artc.content }}

  • views.py
from django.shortcuts import render,redirect
from blog import models
from django.contrib.auth.models import User
from django.contrib.auth import authenticate,login,logout

# Create your views here.
def index(request):
    articles_list = models.article.objects.all()
    return render(request,'blog/index.html',locals())

def article(request,id):
    artc = models.article.objects.get(id=id)
    return render(request,'blog/article.html',locals())


def logins(request):
    if request.method == 'POST':
        username = request.POST.get("username")
        password = request.POST.get("password")
        user = authenticate(username=username,password=password)
        if user:
            login(request,user)
            return redirect('/blog/index')
        else:
            msg = '用户名或密码错误!'
            return render(request,'blog/login.html',locals())
    return render(request,'blog/login.html')

def regist(request):
    if request.method == 'POST':
        username = request.POST.get("username")
        password = request.POST.get("password")
        password2 = request.POST.get("password2")
        email = request.POST.get("email")
        if password != password2:
            msg = '两次输入的密码不一样!'
            return render(request,'blog/regist.html',locals())
        elif username == '':
            msg = '用户名不能为空'
            return render(request,'blog/regist.html',locals())
        cusor = User.objects.create_user(username=username,password=password,email=email)
        cusor.save()
        return redirect('/blog/login')
    return render(request,'blog/regist.html')

def log_out(request):
    logout(request)
    return redirect('/blog/')  

pro/urls.py

"""test1 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/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'))
"""
from django.contrib import admin
from django.urls import path,include
from test1 import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    # path('',include('booktest.urls')),
    path('blog/',include('blog.urls')),
]
urlpatterns += static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)

blog_第1张图片
blog_第2张图片
blog_第3张图片
blog_第4张图片
blog_第5张图片

你可能感兴趣的:(blog)