当前位置: 首页 > news >正文

不会写程序如何做网站网站静态页面生成

不会写程序如何做网站,网站静态页面生成,森动网网站建设好吗,关键词收录查询工具# 昨日知识点回顾 编辑条目及创建用户账户 暂没能解决bug#xff1a; The view learning_logs.views.edit_entry didnt return an HttpResponse object. It returned None instead.# 今日知识点学习 19.2.5 注销 提供让用户注销的途径 1.在base.html中添加注销链接 …# 昨日知识点回顾 编辑条目及创建用户账户 暂没能解决bug The view learning_logs.views.edit_entry didnt return an HttpResponse object. It returned None instead.# 今日知识点学习 19.2.5 注销 提供让用户注销的途径 1.在base.html中添加注销链接                 # base.html pa href {% url learning_logs:index %}Learning Log/a -a href {% url learning_logs:topics %}Topics/a -{% if user.is_authenticated %}Hello, {{ user.username }}.a href{% url users:logout %}Log out/a{% else %}a href{% url users:login %}Log in /a{% endif %} /p{% block content %}{% endblock content %} 2.注销确认页面                 # learning_log\users\templates\registration\logged_out.html {% extends learning_logs/base.html %}{% block content %}pYou have been logged out. Thank you for visiting!/p {% endblock content %} 19.2.6 注册页面 1.注册页面的URL模式 # users\urls.py 为应用程序users定义URL模式from django.urls import path, includefrom . import viewsapp_name users urlpatterns [# 包含默认的身份验证URLpath(, include(django.contrib.auth.urls)),# 注册页面path(register/, views.register, nameregister) ]2.视图函数register() # # users\views.py from django.shortcuts import render, redirect from django.contrib.auth import login from django.contrib.auth.forms import UserCreationForm# Create your views here. def register(request):注册新用户if request.method ! POST:# 显示空的注册表单form UserCreationForm()else:# 处理填写好的表单form UserCreationForm(datarequest.POST)if form.is_valid():new_user form.save()# 让用户自动登录再重定向主页login(request, new_user)return redirect(learning_logs:index)# 显示空表单或指出表单无效context {form: form}return render(request, registration/register.html, context) 3.注册模版 # users\templates\registration\register.html {% extends learning_logs/base.html %}{% block content %}form methodpost action{% url users:register %} {% csrf_token %}{{ form.as_p }}button namesubmitRegister/buttoninput typehidden namenextvalue{% url learning_logs:index %} / /form{% endblock content %} 4.链接到注册页面 # base.html pa href {% url learning_logs:index %}Learning Log/a -a href {% url learning_logs:topics %}Topics/a -{% if user.is_authenticated %}Hello, {{ user.username }}.a href{% url users:logout %}Log out/a{% else %}a href{% url users:register %}Register /a-a href{% url users:login %}Log in /a{% endif %} /p{% block content %}{% endblock content %} 19.3 让用户拥有自己的数据 19.3.1 使用login_required限制访问 装饰器放在函数定义前面的指令能在函数运行前修改函数代码 1.限制访问显示所有主题的页面                 # learning_logs/views.py from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required# 导入所需数据相关联的模型 from .models import Topic, Entry from .forms import TopicForm, EntryForm# Create your views here. def index(request):学习笔记的主页# 传递两个实参对象request以及一个可用于创建页面的模版return render(request, learning_logs/index.html)login_required def topics(request):显示所有的主题topics Topic.objects.order_by(date_added) ---snip--- # settings.py ---snip(直到末尾---# 我的设置 LOGIN_URL users:login 2.全面限制对项目“学习笔记”的访问 # learning_logs\views.py from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required# 导入所需数据相关联的模型 from .models import Topic, Entry from .forms import TopicForm, EntryForm# Create your views here. def index(request):学习笔记的主页# 传递两个实参对象request以及一个可用于创建页面的模版return render(request, learning_logs/index.html)login_required def topics(request):显示所有的主题topics Topic.objects.order_by(date_added)# 定义一个将要发送模版的上下文context {topics: topics}return render(request, learning_logs/topics.html, context)login_required def topic(request, topic_id):显示单个主题及所有的条目topic Topic.objects.get(idtopic_id)entries topic.entry_set.order_by(-date_added)context {topic: topic, entries: entries}return render(request, learning_logs/topic.html, context)login_required def new_topic(request):添加新主题if request.method ! POST:# 未提交数据创建一个新表单form TopicForm()else:# POST提交的数据对数据进行处理form TopicForm(datarequest.POST)if form.is_valid():form.save()return redirect(learning_logs:topics)# 显示空表单后指出表单数据无效context {form: form}return render(request, learning_logs/new_topic.html, context)login_required def new_entry(request, topic_id):在特定主题中添加新条目topic Topic.objects.get(idtopic_id)if request.method ! POST:# 未提交数据创建一个空表单form EntryForm()else:# POST提交的数据对数据进行处理form EntryForm(datarequest.POST)if form.is_valid():new_entry form.save(commitFalse)new_entry.topic topicnew_entry.save()return redirect(learning_logs:topic, topic_idtopic_id)# 显示空表单或支出表单数据无效context {topic: topic, form: form}return render(request, learning_logs/new_entry.html, context)login_required def edit_entry(request, entry_id):编辑既有条目entry Entry.objects.get(identry_id)topic entry.topicif request.method ! POST:# 初次请求使用当前条目填充表单form EntryForm(instanceentry)else:# POST提交的数据对数据进行处理form EntryForm(instanceentry, datarequest.POST)if form.is_valid():form.save()return redirect(learning_logs:topic, topic_idtopic.id)context {entry: entry, topic: topic, form: form}return render(request, learning_logs/edit_entry.html, context) 19.3.2 将数据关联到用户 1.修改模型Topic # models.py from django.db import models from django.contrib.auth.models import User# Create your models here. class Topic(models.Model):用户学习的主题# 存储少量文本如名称、标题或城市预留200字符空间text models.CharField(max_length200)# 记录日期和时间的数据为True自动设置为当前日期和时间date_added models.DateTimeField(auto_now_addTrue)owner models.ForeignKey(User, on_deletemodels.CASCADE)def __str__(self):返回模型的字符串表示# 只显示条目前50字符省略号指出显示的并非整个条目return f{self.text[:50]}...class Entry(models.Model):学到某个主题的具体知识topic models.ForeignKey(Topic, on_deletemodels.CASCADE)# 外键(foreign key)是一个数据库术语它指向数据库另一条记录。# 次联删除on_deletemodels.CASCADE让Django在删除主题的同时删除所有与之相关联的条目text models.TextField()date_added models.DateTimeField(auto_now_addTrue)class Meta:# 存储用于管理模型的额外信息verbose_name_plural entries 2. 确定当前有哪些用户 3.迁移数据库  重建数据库python manage.py flush 19.3.3 只允许用户访问自己的主题                 # views.py ---snip--- login_required def topics(request):显示所有的主题topics Topic.objects.filter(ownerrequest.user).order_by(date_added)# 定义一个将要发送模版的上下文context {topics: topics}return render(request, learning_logs/topics.html, context) ---snip--- 19.3.4 保护用户的主体         # views.py from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required from django.http import Http404---snip---login_required def topic(request, topic_id):显示单个主题及所有的条目topic Topic.objects.get(idtopic_id)# 确认请求的主题属于当前用户if topic.owner ! request.user:raise Http404---snip--- 19.3.5 保护页面edit_entry # views.py ---snip--- login_required def edit_entry(request, entry_id):编辑既有条目entry Entry.objects.get(identry_id)topic entry.topicif topic.owner ! request.user:raise Http404---snip--- 19.3.6 将新主题关联到当前用户 # views.py ---snip--- login_required def new_topic(request):添加新主题if request.method ! POST:# 未提交数据创建一个新表单form TopicForm()else:# POST提交的数据对数据进行处理form TopicForm(datarequest.POST)if form.is_valid():new_topic form.save(commitFalse)new_topic.owner request.usernew_topic.save() return redirect(learning_logs:topics)# 显示空表单后指出表单数据无效context {form: form}return render(request, learning_logs/new_topic.html, context)---snip---
http://www.sczhlp.com/news/173305/

相关文章:

  • 网站开发方向c语言vps搭建wordpress博客
  • 响应式网站导航栏内容南京哪家做网站好
  • 网站优化 合同王野发动机怎么样
  • 做网站时,404网页如何指向义乌大岳网络科技有限公司
  • arc3.2语言sort的时候报错:(sort < `(2 9 3 7 5 1)) 得写成此种:(sort > (pair (list 3 2)))
  • 噬菌体展示技术:从诺奖成果到疫苗研发,这一 “表型 - 基因型统一” 工具如何颠覆生物研究?
  • 从零开始学Flink:实时流处理实战
  • 服务器放网站吗购物网站模板代码
  • 网站定制公司选哪家网站的内部推广的方法
  • wwr下载建设网站网站推广是怎么做的
  • 厦门海投工程建设有限公司网站网站数据库制作
  • 建外卖网站公众号运营收费标准
  • 网站简繁体转换 js网站地图 用户体验
  • 怎么做废品收购网站网站建设财务上怎么处理
  • 区网站建设使用WordPress默认主题
  • 卖水果做哪个网站好dede如何手机网站和电脑网站的数据同步更新
  • 进入公众号是什么意思深圳seo网站排名优化
  • 瀑布流 网站 php 源码七台河网站制作
  • wordpress移动端顶部导航栏网站优化 秦皇岛
  • 广州网站的设计公司遵义市建设厅网站
  • 做网站创业怎么样部署自己做的网站吗
  • 4a级景区网站建设淘宝网页版电脑版官网
  • 六安市 网站集约化建设做商城网站流程
  • 做网站没流量国内ui网站
  • 不收费的企业查询网站wordpress 注册地址
  • 深圳宝安区繁华吗seo 优化一般包括哪些内容
  • 北京建设公司网站网站建设怎样核算
  • 昆明做网站需要多少钱北京建筑工程公司大全
  • 哪里有网站开发服务器网页工具栏
  • 深圳网站建设迈兰州企业网站优化