コード例 #1
0
def dashboard(request):
    try:
        blog = Blog.objects.get(user=request.user)
        if not resolve_subdomain(request.META['HTTP_HOST'], blog):
            return redirect(f"{blog.useful_domain()}/dashboard")

        if request.method == "POST":
            # TODO: Implement create Blog
            pass
        else:
            form = BlogForm(instance=blog)
    except Blog.DoesNotExist:
        blog = Blog(user=request.user,
                    title=f"{request.user.username}'s blog",
                    subdomain=slugify(f"{request.user.username}-new"),
                    content="Hello World!",
                    created_date=timezone.now())
        blog.save()
        form = BlogForm(instance=blog)

    return render(request, 'dashboard/dashboard.html', {
        'form': form,
        'blog': blog,
        'root': blog.useful_domain
    })
コード例 #2
0
ファイル: views.py プロジェクト: pasmi83/blogitproject
def create_blog(request):
    if request.method == "GET":
        context = {}
        return render(request, 'blogs/create_blog.html', context=context)
    if request.method == "POST":
        blog = Blog()
        blog.author = request.user.profile
        blog.title = request.POST['title']
        blog.text = request.POST['text']
        #тэги
        tags = request.POST.get('tags').split(
            ",")  #делим строку из формы по запятым
        tags = [i.strip() for i in tags]  #режем пробелы с обеих сторон
        #----------------------------------------------
        try:
            if any(request.FILES):
                blog.image = request.FILES['image']
        except:
            messages.error(reguest, 'Image is not correct!')
            return redirect(reverse('pages:index'))
        blog.likes = []

        blog.save()
        blog.tags.set(
            *tags)  #назначаем тэги в свежесохранённому блогу(или наоборот)

        messages.success(request, 'Blog successfuly created!')
        return redirect(reverse('pages:index'))
コード例 #3
0
    def post(self, request):

        title = request.POST.get('title')
        gcontent = request.POST.get('gcontent')
        category = request.POST.get('category')
        user = request.user
        # user = User.objects.get(username=user)
        id = user.id
        print(title, id, gcontent)
        if not all((title, gcontent)):
            return render(request, 'user_center.html', {'errmsg': '数据不完整'})
        blog = Blog()
        blog.title = title
        blog.content = gcontent
        user = User.objects.get(username=user)
        blog.author = user
        category = Category.objects.get(name=category)
        blog.category = category
        # blog=Blog.objects.create(
        #         title=title,
        #         # category=category,
        #         author=id,
        #
        #     )
        blog.save()
        return redirect(reverse('blogs:personal_center'))
コード例 #4
0
ファイル: dashboard.py プロジェクト: sandersuitup/bearblog
def dashboard(request):
    try:
        blog = Blog.objects.get(user=request.user)
        if not resolve_subdomain(request.META['HTTP_HOST'], blog):
            return redirect(f"http://{get_root(blog.subdomain)}/dashboard")

        if request.method == "POST":
            form = BlogForm(request.POST, instance=blog)
            if form.is_valid():
                blog_info = form.save(commit=False)
                blog_info.save()
        else:
            form = BlogForm(instance=blog)

    except Blog.DoesNotExist:
        blog = Blog(user=request.user,
                    title=f"{request.user.username}'s blog",
                    subdomain=slugify(f"{request.user.username}-new"),
                    content="Hello World!",
                    created_date=timezone.now())
        blog.save()
        form = BlogForm(instance=blog)

    return render(request, 'dashboard/dashboard.html', {
        'form': form,
        'blog': blog,
        'root': get_root(blog.subdomain)
    })
コード例 #5
0
ファイル: views.py プロジェクト: zahrababaiee/web2
def register(request):
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = RegisterForm(request.POST)
        print("there is a request")
        # check whether it's valid:
        if form.is_valid():
            user = form.save(commit=False)
            user.set_password(form.cleaned_data['password'])
            user.save()
            blog_id = Blog.objects.count() + 1
            user = User.objects.get(username=request.POST.get('username'))
            blog = Blog(num=blog_id, writer=user, isDefault=True)
            blog.save()
            #    form.save()
            response_data['status'] = 0
            return HttpResponse(json.dumps(response_data),
                                content_type="application/json")
        else:
            response_data['status'] = -1
            response_data['message'] = list(
                form.errors.keys())[0] + ": " + form.errors[list(
                    form.errors.keys())[0]][0]
            print(
                HttpResponse(json.dumps(response_data),
                             content_type="application/json"))
            return HttpResponse(json.dumps(response_data),
                                content_type="application/json")
    else:
        return HttpResponse(json.dumps(response_data),
                            content_type="application/json")
コード例 #6
0
ファイル: views.py プロジェクト: Kramarevaa/Blogproject
def create_blog(request):
    user = request.user
    profile = Profile.objects.get(user=request.user)
    context = {'profile': profile}

    if request.method == 'GET':
        return render(request, 'blogs/create_blog.html', context=context)

    if request.method == 'POST':
        title = request.POST['title']
        text = request.POST['text']
        tags = request.POST['tags']
        # blog create
        blog = Blog()
        blog.title = title
        blog.text = text
        blog.author = profile
        try:
            if any(request.FILES):
                blog.image = request.FILES['image']
        except:
            blog.tags.add(tags)
            messages.error(request, 'Blog Image is not correct!')
            return render(request, 'blog/create_blog.html', context=context)
        blog.save()
        messages.success(request, 'Blog successfully created!')
        return redirect('/profiles/profile/{}'.format(user.username))
コード例 #7
0
ファイル: schema.py プロジェクト: sleepingsaint/project-scope
    def mutate(cls, root, info, project_id, blog):
        user = info.context.user
        if (user.is_authenticated):
            project = Project.objects.get(pk=project_id)
            author = User.objects.get(pk=user.id)
            if (author in project.members.all()
                    or author in project.moderators.all()
                    or author == project.admin):
                project_blog = Blog(author=author,
                                    title=blog.title,
                                    is_project_blog=True)
                if blog.data is not None:
                    project_blog.data = blog.data
                if blog.tags is not None:
                    project_blog.tags = blog.tags
                if blog.more_info is not None:
                    project_blog.more_info = blog.more_info

                project_blog.save()
                project.blogs.add(project_blog)
                project.save()
                return AddProjectBlogMutation(blog=project_blog)
            raise Exception(
                "You don't have permissions to perform this action")
        raise Exception("You have to be logged in to access api")
コード例 #8
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.set_password(form.cleaned_data['password'])
            user.save()
            blog_id = Blog.objects.count() + 1
            user = User.objects.get(username=request.POST.get('username'))
            blog = Blog(blog_id=blog_id, user=user)
            user.default_blog_id = blog_id
            user.save()
            blog.save()

            response = {
                "status": 0,
            }
        else:
            response = {
                'status': -1,
                'message': "some other error occurred"
            }
        return HttpResponse(json.dumps(response), content_type="application/json")
    else:
        response = {
            "status": -1,
            "message": "some error occurred"
        }
        return HttpResponse(json.dumps(response), content_type="application/json")
コード例 #9
0
     def post(self,request):
         user = User()
         form = UserForm(data=request.POST)
         form.instance = user
         if form.is_valid():

             user.first_name = form.cleaned_data.get('first_name')
             user.last_name = form.cleaned_data.get('last_name')
             user.email = form.cleaned_data.get('email')
             user.username = form.cleaned_data.get('username')
             password = form.cleaned_data.get('password')
             user.set_password(password)
             user.save()

             blog = Blog(user=user)
             blog.name = form.cleaned_data.get('blog_name')
             blog.description = form.cleaned_data.get('blog_description')
             blog.save()

             # logeamos al usaurio
             authenticate_user = authenticate(username=user.username, password=password)
             django_login(request, authenticate_user)

             # vaciamos el formulario
             form = UserForm()
             url = reverse("create_post")
             message = "User with blog created successfully!"
             message += '<a href="{0}">Create you first post</a>'.format(url)
             # enviamos mensaje de exito con un enlace al blog que acabamos de crear
             messages.success(request, message)

         return render(request, "singup_form.html", {'form': form})
コード例 #10
0
    def post(self, request):
        """
        Recibe los datos del nuevo post los valida y los guarda
        :param request: HttpRequest
        :return: HttpResponse        """

        # crear el formulario con los datos del POST
        blog_with_user = Blog(owner=request.user)
        form = BlogForm(request.POST, instance=blog_with_user)

        if form.is_valid():
            #crea el post
            blog = form.save()

            #generar mensaje de exito
            msg = "Blog creado con éxito"

            # limpiamos el formulario creando uno vacío para pasar a la plantilla
            form = BlogForm()
        else:
            msg = "Ha ocurrido un error al guardar el blog" \

        # renderiza la plantilla con el formulario
        context = {"form": form, "msg": msg}

        # renderiza y devuelve la plantilla
        return render(request, 'blogs/new-blog.html', context)
コード例 #11
0
 def post(self, request, *args, **kwargs):
     blog = Blog(
         author=get_user_model().objects.get(pk=request.data.get("author")),
         title=request.data.get("title"),
         content=request.data.get("content"),
         summary=get_summary(request.data.get("content")),
         is_published=request.data.get("is_published"),
     )
     blog.save()
     return Response(status=status.HTTP_200_OK)
コード例 #12
0
ファイル: views.py プロジェクト: basanta79/kc_md_py_django
 def post(self, request):
     form = SignupForm(request.POST)
     if form.is_valid():
         user = form.save()
         django_login(request, user)
         first_blog = Blog(owner=user,
                           title=user.first_name + ' first Blog')
         first_blog.save()
         return redirect('home')
     context = {'form': form}
     return render(request, 'users/login.html', context)
コード例 #13
0
ファイル: views.py プロジェクト: noemenend/WordPlease
    def post(self, request):
        new_blog = Blog(author=request.user)
        form = BlogForm(request.POST, instance=new_blog)

        if form.is_valid():
            new_blog = form.save()
            messages.success(
                request,
                'Blog {0} created successfully!'.format(new_blog.name))
            form = BlogForm()

        return render(request, 'blogs/blog_new.html', {'form': form})
コード例 #14
0
 def post(self, request):
     blog = Blog()
     blog.owner = request.user
     form = BlogForm(request.POST, instance=blog)
     if form.is_valid():
         new_blog = form.save()
         messages.success(
             request,
             'Post creado correctamente con ID {0}'.format(new_blog.pk))
         form = BlogForm()
     context = {'form': form}
     return render(request, 'new-post.html', context)
コード例 #15
0
ファイル: views.py プロジェクト: kiko2008/wordplease
 def post(self, request):
     new_blog = Blog()
     blog_form = BlogForm(request.user,
                          request.POST,
                          request.FILES,
                          instance=new_blog)
     if blog_form.is_valid():
         new_blog = blog_form.save()
         messages.success(
             request, 'El blog {0} se ha creado corretamente!'.format(
                 new_blog.title))
         blog_form = BlogForm(request.user)
     return render(request, 'new_blog.html', {'form': blog_form})
コード例 #16
0
    def post(self, request):
        blog_with_user = Blog(owner=request.user)
        form = BlogForm(request.POST, instance=blog_with_user)
        self.translate(form)
        message = ""

        if form.is_valid():
            form.save()

            form = BlogForm()
            message = _("Se ha creado correctamente el blog")

        context = {"form": form, "message": message}
        return render(request, 'blogs/new_blog.html', context)
コード例 #17
0
ファイル: api.py プロジェクト: salvarezf/WORDPLEASE_SAAF
 def post(self, request):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         user = serializer.save()
         default_blog_name = "Weblog " + user.username
         url = "/blogs/" + user.username
         blog_default = Blog(description="",
                             name=default_blog_name,
                             user=user,
                             url=url)
         blog_default.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
コード例 #18
0
    def create(self, validated_data):
        instance = User()
        blog = Blog()

        instance.first_name = validated_data.get("first_name")
        instance.last_name = validated_data.get("last_name")
        instance.username = validated_data.get("username")
        instance.email = validated_data.get("email")
        instance.set_password(validated_data.get("password"))
        instance.save()

        blog.blog_title = self.initial_data.get('blog_title')
        blog.user = instance
        blog.save()

        return instance
コード例 #19
0
 def post(self, request):
     user_post = User()
     form = SignUpForm(request.POST, instance= user_post)
     if form.is_valid():
         user_post.set_password(form.cleaned_data.get("password"))
         user_post = form.save()
         default_blog_name= "Weblog " + str(user_post.username)
         url = "/blogs/" + str(user_post.username)
         blog_default = Blog(description="",name="Weblog " + user_post.username,user=user_post, url=url)
         blog_default.save()
         form = SignUpForm()
         message = "User "+user_post.username+" registered successfully! "
         message+= "Your default blog name is "+ default_blog_name
         messages.success(request, message)
     context = {'form': form}
     return render(request, "signup_form.html", context)
コード例 #20
0
    def post(self, request):
        """
        Shows a form to create a new blog
        :param request: HttpRequest
        :return: HttpRequest
        """
        blog_with_owner = Blog()
        blog_with_owner.owner = request.user
        form = BlogForm(request.POST, instance=blog_with_owner)
        if form.is_valid():
            new_blog = form.save()  # Guarda el objeto y lo devuelve FTW
            return redirect('blog_detail',
                            ownerName=new_blog.owner,
                            pk=new_blog.pk)

        context = {'form': form}
        return render(request, 'blogs/new_blog.html', context)
コード例 #21
0
    def post(self, request):
        """
        Método para cuando el signup viene del método HTTP get
        :param request: HttpRquest
        :return: render que contruye un HttpResponse con el template indicado
        """

        # Mensaje de éxito al crear nuevo usuario
        success_message = ''

        # Crearemos un Django Form para presentarlo en la plantilla
        # Todos los valores del formulario se inicializan con los valores que vienen en el POST
        form = SignupForm(request.POST)

        # Si el formulario es válido, guardamos usuario
        if form.is_valid():
            new_user = User.objects.create_user(
                form.cleaned_data.get('username'),
                form.cleaned_data.get('email'),
                form.cleaned_data.get('password'))
            new_user.first_name = form.cleaned_data.get('first_name')
            new_user.last_name = form.cleaned_data.get('last_name')
            new_user.is_staff = False

            # Guardamos usuario
            new_user.save()

            # Creamos blog con el nuevo usuario
            blog = Blog()
            blog.owner = new_user
            blog.save()

            # Reseteamos formulario
            form = SignupForm()

            success_message = 'OK'

        # Creamos contexto con mensaje éxito
        context = {'signup_form': form, 'success_message': success_message}

        # Mandamos respuesta con error a través de la plantilla
        return render(request, 'users/registro.html', context)
コード例 #22
0
    def create(self, request):
        """
        Endpoint de creación de usuario. Guardamos automáticamente también el blog con su nombre de usuario
        :param request:
        :return:
        """
        # Creamos serializador a partir de los datos de la petición. En rest framwork, para evitar request.POST,
        # request.GET, etc., se utiliza simplemente data
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            new_user = serializer.save()

            # Guardamos blog para el nuevo usuario
            user_blog = Blog()
            user_blog.owner = new_user
            user_blog.save()

            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #23
0
ファイル: views.py プロジェクト: JoseAntonioFrias/Wordplease
    def post(self, request):
        # Nos definimos previamente un formulario con el valor del usuario que hemos excluido de la página.
        new_blog_in = Blog(owner=request.user)

        # Coge los datos del formulario y de los ficheros
        form = BlogForm(request.POST, instance=new_blog_in)

        if form.is_valid():
            new_blog_in = form.save()
            messages.success(
                request,
                'Blog {0} creado con éxito!'.format(new_blog_in.title))

            # Se limpia el formulario para una nueva inserción
            form = BlogForm()
        else:
            storage = generate_new_html_errors(form.errors)
            for msg in storage:
                messages.error(request, storage.get(msg))

        return render(request, 'blogs/new_blog.html', {'form': form})
コード例 #24
0
def blog_form(request):
    if request.method == 'POST':
        form = forms.BlogForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            if 'id' not in data:
                blog = Blog(title=data['title'],
                            author=data['author'],
                            content=data['content'])
                blog.save()
            else:
                blog = Blog.object.get(id=data.id)
                blog.title = data['title']
                blog.author = data['author']
                blog.content = data['content']
                blog.save()
            return HttpResponseRedirect('/blog/list')
    else:
        form = forms.BlogForm()
        return render_to_response('blog_form.html', {'form': form},
                                  context_instance=RequestContext(request))
コード例 #25
0
    def post(self, request):
        form = SignupForm(request.POST)
        self.translate(form)
        context = dict()
        if form.is_valid():
            if User.objects.filter(
                    username=form.cleaned_data.get("username")).exists():
                form.add_error("username", _("El usuario ya existe"))
            else:
                user = User()

                user.username = form.cleaned_data.get("username")
                user.set_password(form.cleaned_data.get("password"))
                user.first_name = form.cleaned_data.get("first_name")
                user.last_name = form.cleaned_data.get("last_name")
                user.email = form.cleaned_data.get("email")

                try:
                    user.save()

                    blog = Blog()
                    if user.first_name or user.last_name:
                        blog.name = "Blog de " + user.first_name + " " + user.last_name
                    else:
                        blog.name = "Blog de " + user.username

                    blog.owner = user

                    blog.save()

                    url = request.GET.get('next', '/new-post')
                    return redirect(url)

                except Error as err:
                    form.add_error("__all__",
                                   _("Error en acceso a base de datos"))
                    print("Error en acceso a base de datos: ", err)

        context["form"] = form
        return render(request, 'signup.html', context)
コード例 #26
0
 def post(self, request):
     """
     Procesa el formulario para crear un blog
     :param request: objeto HttpRequest
     :return: HttpResponse con la respuesta
     """
     blog = Blog()
     blog.author = request.user
     form = BlogForm(request.POST, instance=blog)
     if form.is_valid():
         # creamos el blog
         blog = form.save()
         # limpiar el formulario
         form = BlogForm()
         # Devolvemos un mensaje de OK
         messages.success(request, 'Blog created correctly')
         return redirect('blogs')
     context = {'form': form}
     context['title'] = "Create a new Blog"
     context['claim'] = 'Create an incredible new blog'
     messages.error(request,'Blog could not be created. Please check fields')
     return render(request, 'blogs/new-blog.html', context)
コード例 #27
0
ファイル: views.py プロジェクト: joviman69/Modulo8_Django
    def post(self, request):
        """
         Procesa el formulario de creación de un blog
        :param request: objeto HttpRequest
        :return: HttpResponse con respuesta
        """


        blog = Blog()
        try:
            blog.owner = User.objects.get(username=request.user)
        except Blog.DoesNotExist:
            return HttpResponse('Este usuario no existe', status=404)

        form = BlogForm(request.POST, request.FILES, instance=blog)
        if form.is_valid():
            new_blog = form.save()
            form = BlogForm()
            messages.success(request, 'Blog creado correctamente')

        context = {'form': form}
        return render(request, 'blogs/form.html', context)
コード例 #28
0
    def post(self, request):
        form = BlogForm(request.POST)

        if form.is_valid():

            blog = Blog()
            cleaned_data = form.cleaned_data
            blog.name = cleaned_data.get('name')
            blog.user = request.user
            blog.slug = cleaned_data.get('name').replace(" ", "_")

            blog.save()

            message = "Post creado con éxito!"

            form = BlogForm()
        else:
            message = "Se ha producido un error"

        context = {"form": form, "message": message}

        return render(request, 'blogs/new_post.html', context)
コード例 #29
0
    def post(self, request):
        error_messages = []
        form = SignupForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('usr')
            password = form.cleaned_data.get('pwd')
            email = form.cleaned_data.get('email')

            user = User.objects.filter(email=email)
            if user.exists():
                error_messages.append('Ya existe un usuario con este email')
            else:
                # creamos el usuario
                new_user = form.save()
                new_user.set_password(new_user.password)
                new_user.save()
                form = SignupForm()

                if new_user.is_active:
                    # nos autenticamos
                    user = authenticate(username=new_user.username, password=new_user.password)

                    # creamos el blog del usuario
                    blog = Blog(owner=new_user)
                    blog.title = 'Blog de ' + new_user.username
                    blog.save()

                    # redireccionamos a la página de inicio
                    django_login(request, user)
                    url = request.GET.get('next', 'wordplease_home')
                    return redirect(url)
                else:
                    error_messages.append('El usuario no está activo, contacte con el administrador del sitio.')

        context = {
            'errors': error_messages,
            'signup_form': form
        }
        return render(request, 'users/signup.html', context)
コード例 #30
0
def blog_form(request):
    state = None
    if request.method == 'POST':
        if Blog.objects.all().exists():
            blog_last = Blog.objects.all().order_by('-id')[0]
            Blog.id = int(blog_last.id) + 1
        else:
            Blog.id = 0
        new_blog = Blog(
            id=Blog.id,
            title=request.POST.get('title', ''),
            author=request.POST.get('author', ''),
            content=request.POST.get('content', ''),
        )
        new_blog.save()

        state = 'success'

    con = {
        'state': state,
    }
    return render(request, 'yemian/blog_form.html', con)