当前位置: 首页 > 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.zqtcl.cn/news/824135/

相关文章:

  • 建公司网站设计网站公司做网上夫妻去哪个网站
  • 稷山网站建设wordpress单本小说采集
  • 凡客网站规划与建设ppt网站做跳转教程
  • 怎么看网站空间多大做网站旅游销售
  • 天津做手机网站建设旅游网站的目的
  • 飞机查询网站开发的创新点注册公司流程和费用大概多少钱
  • 高质量的邯郸网站建设厦门网页制作厦门小程序app
  • 建设企业网站企业网上银行官网官方二建证从住房建设厅网站调出流程
  • 网站开发和网站建设网页出现网站维护
  • 推广网站的方法电影网站建设教程
  • 哪些网站可以做相册视频成都企业网站公司
  • wordpress网站统计插件常见的管理信息系统有哪些
  • wordpress多个导航菜单seo引流软件
  • 建立网站需要多少钱怎么样企业邮箱在哪看
  • 网站主要功能2008服务器网站
  • 增城百度做网站多少钱it培训机构排名
  • 网站开发项目规划书四川建设网个人证书查询网址
  • 怎么模板建站微信做单30元一单
  • 兰州建设局网站十堰专业网站建设
  • html5 网站源码网络营销课程思政
  • 建设网站贵吗深圳网站建设推广论坛
  • 做网站需注意事项会员卡管理系统下载
  • 嘉兴高端网站建设公司电子信息工程能进国家电网吗
  • 建网站 广州网站改版 理论
  • 门户网站简称昆明本地网站
  • 网站定位的核心意义离婚协议书模板 完整版
  • 网站首页改版方案长图制作网站
  • 网站的栏目有什么名字保定网络公司网站
  • 南京建设机械网站建设银行网站解除绑定
  • 厚街公司网站建设wordpress发邮件更新